• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:パス名を参照するコードのファイルネームがが知りたい)

Excel VBAで参照ファイルのパス名を取得する方法

このQ&Aのポイント
  • Excel VBAを使用して、参照ファイルのパス名を取得する方法について教えてください。
  • EXSEL2003のユーザフォームにテキストボックスと参照ボタンを配置し、参照ボタンを押すとファイルを開いてパス名を取得したいです。
  • 現在のコードではファイルを参照することはできますが、パス名を取得することができません。どのように記述すれば良いでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

自分のやり方でやりたいのかもしれないが、何をしたいのか良くわからない。 .GetOpenFilenameならどのパスのどのファイルか、わかっている時に使うもので、プログラムで開くときパスも判っているはず。 ーー 選択したファイルのパス名を知りたいなら エクセルのファイルに限るなら Sub test03() 'With Application.FileDialog(msoFileDialogFolderPicker) With Application.FileDialog(msoFileDialogFilePicker) '初期フォルダ設定 .InitialFileName = "C:\DATA\" 'ダイアログのタイトル .Title = "ファイルを選択してください" If .Show = True Then MsgBox .SelectedItems(1) f = .SelectedItems(1) If Right(f, 4) = ".xls" Then r = InStrRev(f, "\") MsgBox Left(f, r - 1) 'パス名 MsgBox Right(f, Len(f) - r) 'ブック名 Else MsgBox "エクセルを選択のこと" End If End If End With End Sub のようなのもありかな。 しかしこういうニーズは現実的かな。 外にも色いろなやり方がある個所のようなのでWEBで調べまくること。

saab8743
質問者

お礼

ありがとうございました。 教えていただいたのを少し変えて使わせていただきます。

saab8743
質問者

補足

回答ありがとうございます。 すみません質問が適当でなかったようです 単純に選択したファイルのパス名を知りたいのです。 よろしくお願いします。

その他の回答 (2)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

ご質問を読み違えましたかね。 「ファイルを指定する」のもハズせないのでしたら Dim OpenFileName As String OpenFileName = Application.GetOpenFilename("*.uws,*.uws?") If OpenFileName = "False" Then Exit Sub MsgBox Left(OpenFileName, InStrRev(OpenFileName, "\") - 1) とか。 失礼しました。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

たとえば「excel vba フォルダを選択」をキーワードにして,ちょっとぐぐってみましょう。 見つかります: http://officetanaka.net/excel/vba/tips/tips39.htm