プロが教えるわが家の防犯対策術!

ファイルを"原簿.xls"(互換モード)ともう一つ開いていて、原簿の方をActiveにしようと、
Workbooks("原簿").Activate
でずっと実行していましたのが、急に実行エラーになり、
Workbooks("原簿.xls").Activate
と拡張子を付けましたら通りました。
他のマクロはみな拡張子をつけていたのですが、気づきませんでした。
なぜ前者は通っていたのでしょうか?

A 回答 (1件)

Workbooks("原簿").Activate


でエラーが発生せず、実行できていたとすると、Windowsのフォルダーオプションの「詳細設定」で「登録されている拡張子は表示しない」にチェックが入っていたのではないかと思われます。

上記にチッェクがはいっている状態だと、拡張子の「.xls」は表示されていなかった可能性があり、この場合はVBAに
Workbooks("原簿").Activate
と記述してもエラーにならず実行されると思います。

逆にこのチェックをはずすと拡張子が表示されるようになり、
Workbooks("原簿.xls").Activate
のように拡張子ありで記述しないとエラーになります。

ご質問者が意識せず、そのような変更をおこなったか、PCが共有だとすると別の方が設定を変更した可能性も考えられます。

Windowsの設定については添付画像をご覧ください。
「Excelvbaのマクロのファイル名での」の回答画像1
    • good
    • 0
この回答へのお礼

ありがとう

お返事遅くなりました。
ご指摘の通り、エクスプローラでファイルの表示を「拡張子を表示する」に変更した後でした。
全てに掛かってくるのですね。
有難うございました。

お礼日時:2021/02/16 11:29

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