- ベストアンサー
エクセルのマクロで他のブックを開く方法
- エクセルのマクロを使って他のブックを開く方法について教えてください。
- マクロの記録を利用して他のブックを開く方法を学びましたが、「ChDir」とは何ですか?また、パスを使わずにブックを開く方法はありますか?
- マクロを利用して他のブックを開く際に、「ChDir」というコマンドが使われることがありますが、これはディレクトリを変更するためのコマンドです。パスを使わずにブックを開く方法についても知りたいです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
1行目のChDirは、無くてもいいと思います。 マクロの記録で、 ファイル->開く->別のドライブかフォルダを選択->キャンセル とすると、マクロの記録の結果は、 ChDir "C:\???" と、最後に選んだフォルダになっていると思います。 つまりChDirは「ファイルを開く」ダイアログの挙動を記録した、ただそれだけのことだと思います(たぶん)。 ちなみに、この状態で再びファイルを開くを行うと、最後に選んだフォルダを最初に表示すると思います。 これは ChDir を行った結果だと思います。 今マクロを動かしているブックは、ThisWorkbookで取得できるので、同じフォルダ内なら、 Workbooks.Open Filename:=ThisWorkbook.Path & "\○○.xls" 1つ上なら Workbooks.Open Filename:=ThisWorkbook.Path & "\..\○○.xls" で開けると思います。
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
>Chdir」というのはなんでしょう 1語ぐらいで、わからないのがあれば、すぐGoogleなどのWEB照会をすること。現代の常識。 MS-DOS時代からある有名なコマンド。 最近は使わなくて済むからな。しかしVBAをやり出したらこの親類(ファイルフォルダ関係)のコマンドを知っておくと良い。 http://k-o-m.hp.infoseek.co.jp/Faq/13st_Room_001.htmなど ーー 後半は http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_110_140.html など読んで勉強のこと。
- s_saike
- ベストアンサー率46% (36/77)
>1行目の「Chdir」というのはなんでしょう? change directoryの意味です。 >また、2行目では開きたいブックをパスを使ってあらわしています。 >今マクロを動かしているブックと同じフォルダ内にあるブックや >そのフォルダから見て上位のフォルダとか、「c:」から始まる >パスを使わないような書き方はあるのでしょうか? ChDir "C:\Documents and Settings\*****\デスクトップ" Workbooks.Open Filename:="○○.xls" でも開くと思います。やってみて下さい。 Workbooks.Open Filename:="..\○○.xls" 駄目だった気がしますが、やってみて下さい。
補足
1行目でパスを使っているので、この1行目でも パスを使わないでできますか? また、chdirはしないといけないのでしょうか? これをすることによって何をしているのでしょうか?