• ベストアンサー

VBAからファイルをセル入力から開く方法

VBAからファイルをセル入力から開く方法 だれかご教授頂けませんでしょうか?VBAからエクセルファイルを開こうとしています。 そこでシート1のA1セルにファイル名を記述してあり、そのファイル名からファイルを開く事は出来ますでしょうか? 何か良い方法がありましたら教えて頂きたいのですが。

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

  • ベストアンサー
  • xls88
  • ベストアンサー率56% (669/1189)
回答No.1

下記で試してください。 パス名の最後には\を付けるようにしてください。 Workbooks.Open "D:\ABC\" & Sheets("シート1").Range("A1").Value ワークシートのイベントを使う方法も考えられると思います。 BeforeDoubleClickイベント辺りを使って ファイル名セルをダブルクリックすれば Excel(エクセル) VBA入門:ワークシートのイベント http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/vba_event.html

konekos
質問者

お礼

xls88様 せっかく教えて頂いたのですが、私の力量で解決までいきませんでした。一度、質問を閉じさせて頂きます。

konekos
質問者

補足

xls88様 有難うございます。教えて頂いたやり方で試行錯誤したのですが、うまくいきません。 メッセージボックスにファイル名入力してから開くようにしようと今度は、考えております。

その他の回答 (1)

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.2

もしA1セルをクリックして 指定のファイルを開くだけなら Hyperlink関数があります。詳しくはHelpで 例えば B1セルに =Hyperlink("ファイルへのパス"&A1,A1) と入れておきますと、次からはB1セルをクリックするとA1で指定したファイルが起動します。 VBAでなければならない、つまり ファイルを開いた後に別に実行するコードがあるのであれば No1の方の回答の通り Workbooks.Open "ファイルへのパス" & Sheets("シート1").Range("A1").Value で開くことが出来ます。 もし、開きたいファイルとVBA記述しているファイルが同じフォルダであるのならば Workbooks.Open Thisworkbook.Path & Sheets("シート1").Range("A1").Value と ファイルへのパスを Thisworkbook.Path を記述することも出来ます。

konekos
質問者

お礼

hallo-2007様 有難うございます。メッセージボックスじゃなくインプットボックスでした。 また、改めて質問させて頂きます。

konekos
質問者

補足

hallo-2007様 有難うございます。ファイルを開いた後に別に実行するコードがあるのでどうしてもVBAで実行したいと思っています。しかし、教えて頂いた方法でうまくファイルを開く事ができません。バックスラッシュの表示もうまくいかず¥になってしまいます。調べても表示方法が分からないので、メッセージボックスで表示しようかいろいろ悩んでおります。

関連するQ&A