• ベストアンサー

エクセル フォルダパスを取得する方法

シートに空のボタンが1個あるとします。 (1)セルA1にフォルダのパスを入力し、ボタンを押したらそのフォルダへアクセスできる。 (2)ボタンを押したら、フォルダ場所を選択できる画面が出て、選択したらセルA1に入力される。 というように、セルとボタンを連動させて、フォルダパスを取得したいです。 可能であれば、(2)でフォルダ場所を選択し、フォルダが新規作成もできる機能までつけたいです。 Excel2010を使用しており、VBAは初心者です。 どなたかご存じでしたら、ぜひお教え下さい。 よろしくお願いします

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

  • ベストアンサー
  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.2

> (1)セルA1にフォルダのパスを入力し、ボタンを押したらそのフォルダへアクセスできる。 「フォルダへアクセス」とは、エクスプローラを起動してそのフォルダを表示するって事で良いのでしょうか? であれば、 Sub ボタン1_Click() Shell ("C:\\Windows\\explorer.exe " & Sheets("Sheet1").Range("A1").Text) End Sub とか。 > (2)ボタンを押したら、フォルダ場所を選択できる画面が出て、 試してませんが、こちらのサンプルなんかが参考になるハズ。 APIを使うのが汎用性が高いです。 Office TANAKA - Excel VBA Tips[フォルダを選択するダイアログ] http://officetanaka.net/excel/vba/tips/tips39.htm

yamayama456
質問者

お礼

neKo_deuxさん できました! お礼が遅くなり申し訳ありません。 ありがとうございました。

その他の回答 (1)

  • itu1989
  • ベストアンサー率44% (37/83)
回答No.1

(1)セルA1への入力を確認 (2)入力があれば(3)を実行。入力が無ければ(4)以降を実行。 (3)「Shell "C:\Windows\Explorer.exe " & フォルダパス, vbNormalFocus」にてフォルダを開く (4)「Application.FileDialog(msoFileDialogFolderPicker)」にてフォルダ選択ダイアログを開く (5)(4)で選択されたパスをA1セルへ設定する (6)(選択後に開くなら(3)を実行) 手順は以上です。 フォルダ場所を選択し、新規作成は不可能です。 なぜなら存在しないフォルダを選択する事は出来ないからです。 もちろんWindowsの標準機能としてフォルダ選択ダイアログ上で「右クリック⇒新規作成⇒フォルダー」で作成する事はできますが 意味合いとしては指定フォルダが存在しなければ作成だと思うので やるならば「手入力したパスのフォルダが存在しなければ新規作成」だと思います 以下で検索すれば十分な情報が得られるかと 「Excel VBA セルの値を取得」 「Excel VBA フォルダを開く」 「Excel VBA フォルダを選択」 「Excel VBA フォルダ作成」

yamayama456
質問者

お礼

itu1989 さん ご回答ありがとうございます。 検索して、もう少し頑張ってみます。 ありがとうございます。