• ベストアンサー

Excelマクロでの再読込み方法

Excelマクロでの記述で困っています。 自分自身のファイルを保存することなく再読み込みしたいのですがどのように記述すればよいのでしょうか? FileOpen等の命令ではどうしてもエラーが出ます。警告を無視する記述を書いてもエラーがでてしまいます。そもそも、そのようなことができないものなのでしょうか?よろしくお願いします。

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

  • ベストアンサー
  • snoopy64
  • ベストアンサー率42% (337/793)
回答No.1

使ったことは無いですが、ヘルプにこうありました。 ActiveWorkbook.UpdateFromFile 頑張ってくださいヽ(^。^)ノ

zigazisan
質問者

お礼

はじめにファイルを開く時に読み取り専用で開けば、ActveWorkbook.UpdateFromFileでうまくいきました。 このマクロはネット上でもあまり解説されていません。大変助かりました。ありがとうございました。

zigazisan
質問者

補足

回答ありがとうございます。早速実行しましたが、実行エラー1004がでます。また、ご教示いただいた命令は、保存されているファイルが現状開いているファイルより新しい場合に、有効であるみたいなんです。実行したいのはむしろ逆で、古い元のファイルに戻りたいのです。よろしくお願いします。

その他の回答 (3)

回答No.4

自分自身のファイルというのは、マクロが記述されているファイルのことでしょうか?もしそうだとすると、再読み込みはできないのではないでしょうか? 再読み込みは、一旦現在のファイルを閉じて、その後新しいファイルを読み込みますので、現在のファイルを閉じた時点で、プログラムは終わってしまいますよね? したがって原理的には、現在のファイルを閉じ、新しいファイルを開くバッチファイルをShell関数で読み出すようにしないといけないと思います。

zigazisan
質問者

補足

おっしゃる通り、はじめはそう考えたのですが、マクロでなく、通常の操作で可能(開いているファイルを再度起動した場合、警告「開いているファイルの内容が元に戻るぞという警告」がでますが、それをOKすれば元ファイルにもどりますね)なことをマクロで実現したいのです。警告を無視するマクロの記述をしてもうまくいかないので困っているところです。 ActiveWorkbook.UpdateFromFileでもだめなんでしょうか?

  • snoopy64
  • ベストアンサー率42% (337/793)
回答No.3

あ゛~またやってしまいました! 今、動かしてみたら、ぜんぜんだめじゃないですか(-_-;) 本当にごめんなさい<(_ _)>

  • snoopy64
  • ベストアンサー率42% (337/793)
回答No.2

失礼しました。 では、ブックを開いた直後に ActiveWorkbook.ChangeFileAccess Mode:=xlReadOnly としておいてから ActiveWorkbook.UpdateFromFile とすればどうでしょうか。 またはずしてたらごめんなさい。 頑張ってくださいヽ(^。^)ノ

関連するQ&A