投稿日 | : 2007/07/03(Tue) 04:40 |
投稿者 | : おじん |
Eメール | : |
URL | : |
タイトル | : Re^4: マクロが組み込まれたエクセルファイルを読む |
ありがとうございます。
> 保存処理をするまでに、どこかに記入して下さい。 と書いていますよ。
> 当然Excelを起動してファイルを保存できる状態〜保存するまでの間と言う事です。
Application.EnableEvents = False 'True 'マクロ有効
Application.DisplayAlerts = False '保存確認
の2つを思いつくところにコーディングしてテストしていました(テスト方法の
不適切)、それぞれ単独に挿入しテストすべきだった。
保存確認の方は、Open後ならどこでもよいです。
ダンボ様の「両者独立した操作ですので、この組み合わせで良いでしょう。」という
アドバイスを理解できなかった、守らなかったようです。申し訳ありません。
> 下記でもそのように使っていますよ。
> http://hanatyan.sakura.ne.jp/vbhlp/Excel01.htm
こちらのサンプルも読ませていただきましたが、使い方が分からなくてテストを
していませんでした。分からないとは、このコーディング例で、
「ファイル名」「シート名」をどこに、どのようにセットすればよいのか。
言い換えると、既存のファイル、シートの処理ではない、と理解したのです。
1.の方法
Application.EnableEvents = False 'マクロ無効
Set xlApp = GetObject(xlFile, "Excel.Sheet")
Application.DisplayAlerts = False '保存確認
有効/無効のフォームがでてしまう。
2.の方法
Application.EnableEvents = False 'マクロ無効
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open(xlFile, ReadOnly:=True)
Application.DisplayAlerts = False '保存確認
メニューフォームも出なくなり、見かけ上はパーフェクトです。しかし、
組み込まれたマクロが実行されているかどうか不明です。今日調べようと
思っています。
「マクロ無効」とはダイアログを表示しないだけではなく、そのマクロを
実行しないことのように思うのですが?。ならばマクロを実行させるため
にはどうしたらよいのか。マクロを実行させれば「メニュー」が表示され
てしまう。
> この[メニューフォーム]とはどのようなものでしょうか?それが解らないので!
複数のシートがあり、どのシートの入力をするか、いわゆるメニュー形式になっ
ています。またパスワード、処理上のキーコードなど入力などをするフォーム。
皆さんにはご迷惑をおかけします。おじんには重たすぎる問題かもしれません。