VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 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 '保存確認
  メニューフォームも出なくなり、見かけ上はパーフェクトです。しかし、
  組み込まれたマクロが実行されているかどうか不明です。今日調べようと
  思っています。
  「マクロ無効」とはダイアログを表示しないだけではなく、そのマクロを
  実行しないことのように思うのですが?。ならばマクロを実行させるため
  にはどうしたらよいのか。マクロを実行させれば「メニュー」が表示され
  てしまう。

> この[メニューフォーム]とはどのようなものでしょうか?それが解らないので!
複数のシートがあり、どのシートの入力をするか、いわゆるメニュー形式になっ
ています。またパスワード、処理上のキーコードなど入力などをするフォーム。

皆さんにはご迷惑をおかけします。おじんには重たすぎる問題かもしれません。


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -