• ベストアンサー

ExcelのVBAで他のファイルを起動する時の指定

ExcelのVBAで他のファイルを起動する時の指定 ExcelのVBAで他のファイルを起動する時の指定の仕方で、 例えば同ディレクトリや一つ下の階層のファイルとかの場合、 フルパス以外で簡単に指定する方法はあるのでしょうか? 現在フルパスにて記述しているのですが、 ファイルを移動したりした時に、またそちらでのフルパスに 修正しないといけなくなるので手間がかかって困っています。 何かいい方法はないでしょうか? Excelは2000を使っています。

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

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

一体、どういう内容なのか、コードを見てみないと、ご自身の技術的な問題なのか、テクニック上の問題なのか、はっきり言えません。下位フォルダと一緒に移動させる場合は、以下のようにしていますが、「指定」というだけでは、明確な判断は付きかねます。 つまり、対話型にするなら、Dialog やGetOpenFilename メソッドを使うこともあるからです。 例: 同じフォルダなら、本来、そのまま何も書く必要もありません。 下位フォルダなら、以下のようにします。 Sub MyTest1() Dim myPath As String  myPath = ".\TestFolder\" '自ブックの下位フォルダという意味(先頭にピリオドを入れる)  Workbooks.Open myPath & "Test1.xls" End Sub

compq
質問者

お礼

なるほど! ありがとうございました。

その他の回答 (1)

  • hoiho11
  • ベストアンサー率15% (8/53)
回答No.1

同じ階層の場合は Thisworkbook.Path & "\ファイル名.拡張子" で指定 サブフォルダーがある場合は Thisworkbook.Path & "\フォルダー名\ファイル名.拡張子" で指定 Thisworkbookとはマクロを含んでいる自ブックのことでありそのパスをさします これはフルパスが返ってくるのでブックをOpenできるのです 試しに Msgbox Thisworkbook.Path を実行してみましょう

compq
質問者

お礼

ご回答ありがとうございます。 教えて頂いた方法で試してみたのですが、 何故かその箇所でデバッグエラーが出て実行できませんでした。 何度もタイプミスが無いか確認したのですが。 何故でしょうか…。

関連するQ&A