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

Excelマクロでの記述で困っています。

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

A 回答 (4件)

使ったことは無いですが、ヘルプにこうありました。


ActiveWorkbook.UpdateFromFile
頑張ってくださいヽ(^。^)ノ

この回答への補足

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

補足日時:2004/10/28 15:53
    • good
    • 0
この回答へのお礼

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

お礼日時:2004/10/29 15:44

自分自身のファイルというのは、マクロが記述されているファイルのことでしょうか?もしそうだとすると、再読み込みはできないのではないでしょうか?



再読み込みは、一旦現在のファイルを閉じて、その後新しいファイルを読み込みますので、現在のファイルを閉じた時点で、プログラムは終わってしまいますよね?

したがって原理的には、現在のファイルを閉じ、新しいファイルを開くバッチファイルをShell関数で読み出すようにしないといけないと思います。

この回答への補足

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

補足日時:2004/10/29 10:29
    • good
    • 0

あ゛~またやってしまいました!


今、動かしてみたら、ぜんぜんだめじゃないですか(-_-;)
本当にごめんなさい<(_ _)>
    • good
    • 0

失礼しました。


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

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

このQ&Aを見た人はこんなQ&Aも見ています