• ベストアンサー

エクセルマクロについて

エクセルマクロについて マクロ処理において、毎回読み込むファイルが違うので、 マクロ利用時にはマクロ内の絶対パスを手動にて変更しています。 しかし、これはなにげに大変な作業です。 そこで、別のなんらかの手法を取りたいと考えています。 たとえば、"開く"ボタンにて対象ファイルをマウスにて選択することによって、 絶対パスが変更する。等 どのような手法でもかまいません。 ご教授のほどよろしくお願いします。

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんにちは。 私には、コードが何を求めているのか、ご説明では正確には分かりません。 >"開く"ボタンにて対象ファイルをマウスにて選択することによって、絶対パスが変更する。等  fn = Application.FileDialog(msoFileDialogOpen).Show  ' or  'fn = Application.Dialogs(xlDialogOpen).Show をお使いになっているのかな? >どのような手法でもかまいません。 '---------------------------------- Sub getFolderName1()  Dim myPath As String  With Application.FileDialog(msoFileDialogFolderPicker)   If .Show = False Then Exit Sub   myPath = .InitialFileName   MsgBox myPath  End With End Sub '---------------------------------- Sub getFolderName2() Dim fn As String  ChDir ThisWorkbook.Path '最初のフォルダに移動  fn = Application.GetOpenFilename("すべてのファイル(*.*),*.*")  If fn = "False" Then Exit Sub  myPath = Mid$(fn, 1, InStrRev(fn, "\"))  MsgBox myPath End Sub '------------------------------------ 他には、こんな方法もあります。 Sub Sample_ShowFolder()  Dim objSh As Object  Set objSh = CreateObject("Shell.Application"). _   BrowseForFolder(0, "フォルダを選んでください", 0, "c:\")   If Not objSh Is Nothing Then    MsgBox objSh.Items.Item.Path   End If  Set objSh = Nothing End Sub フォルダを取得する方法は、他にも、Win32 APIがあります。

すると、全ての回答が全文表示されます。

その他の回答 (2)

noname#22364
noname#22364
回答No.3

こんにちは。 回答ではないのですが、 下記URLのサイトが参考になると思います。

参考URL:
http://www.asahi-net.or.jp/~ef2o-inue/top01.html
すると、全ての回答が全文表示されます。
  • S-Fuji
  • ベストアンサー率36% (592/1624)
回答No.1

ファイルを開く時 Application.Dialogs(xlDialogOpen).Show を使うと、ファイルの選択画面に成ります。 その他 Application.FindFileとか色々試してみて下さい。

すると、全ての回答が全文表示されます。

関連するQ&A