プロが教える店舗&オフィスのセキュリティ対策術

こんにちわ。

相対パスでブックをオープンしようとすると、
「オブジェクト変数、またはwithブロック変数が設定されていません。」というエラーが表示されてしまいます。
絶対パス指定だと、正常にオープンできますし、同じ相対パス指定で、ブックのコピー&ペーストもできています。

なぜなのでしょうか?

A 回答 (3件)

Workbooks("Book1.xls").Path


で、開いてるワークブックのパスが取得できるので、

Workbooks.open Workbooks("Book1.xls").Path & "\Book2.xls"
などとしてみてはいかがでしょうか。

親フォルダ上のファイルを開くなら、
Workbooks.open Workbooks("Book1.xls").Path & "\..\Book3.xls"
でOKだと思います。
    • good
    • 0

カレントディレクトリが正しくないとか?


CurDir関数?で確認してみてはいかがでしょうか。
最初に起動したときは開いたファイルのディレクトリがカレントになっていない気がします。

ChDirステートメントを使って変更するとうまくと思います。
(それだと絶対パス指定と同じになりますが。。。)

見当違いでしたらすみません。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

そのとおり、相対パスで開こうとすると、excel.exeが格納されているパスが
デフォルトパスになっていた為、上記のエラーが出ていました。
そこで、デフォルトパスの指定を行ってから、相対パス指定でファイルのオープンをしてみたところ、上手くできました。

ありがとうございました。

お礼日時:2001/05/25 16:03

>質問:相対パスでExcel Bookのオープン


>相対パスでブックをオープンしようとすると、
>「オブジェクト変数、またはwithブロック変数が設定されていません。」
>というエラーが表示されてしまいます。

なにで、相対パスでExcel BookをOpen使用としているのですか?
VBAそれとも・・・
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!