[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2007/07/13(Fri) 15:29
投稿者名:おじん
Eメール:
URL :
タイトル:
エクセルファイルを読む
WinXP,vb6.0,Excel11.0
マクロが組み込まれた同一形式のエクセルファイルがあり、必要なセルの内容を
抽出する。No.9501の質問で、マクロ有効・無効のダイアログを表示しない、また
ファイル保存の確認ダイアログも表示しない、方法は教えていただききました。
次のようにコーディングしています。

    xlPath = App.Path
    Application.EnableEvents = False '   マクロ無効
    Set xlApp = CreateObject("Excel.Application")
    Set xlBook = xlApp.Workbooks.Open(xlPath & xlFile)

    With xlApp.Worksheets(xlSheet)
    '    Text1.Text = .Range("A1")
  'ここで必要なセルを取り出す
    End With

    Application.DisplayAlerts = False '保存確認
    xlApp.Application.Quit 'エクセルの終了
    Set xlBook = Nothing '
    Set xlApp = Nothing 'オブジェクトを開放

ここで質問です。
ファイルが一つの場合には良いのですが、例えば、この処理が終了して、VBは
起動させたまま、しばらく(少なくとも10秒以上)して、再度同じファイルに
ついて実行すると、先の「(何故か、マクロ有効・無効のダイアログは表示され
ないが)マクロの実行内容(メニュー)、保存ダイアログ」が表示されます。
二度目以降の実行では、
Application.EnableEvents = False '   マクロ無効
Application.DisplayAlerts = False '保存確認
が効いていない様子です。

原因は何か、あるいはコーディングで不足する者があるのでしょうか。
よろしくご指導ください。

投稿時間:2007/07/13(Fri) 16:21
投稿者名:
Eメール:
URL :
タイトル:
Re: エクセルファイルを読む
回答ではありませんが気になったことを。

>  Application.EnableEvents = False '   マクロ無効
>  Application.DisplayAlerts = False '保存確認

これの「Application」って何者なんでしょう?
CreateObjectしたExcelオブジェクトに対して行っていない気がするんですけども。

投稿時間:2007/07/13(Fri) 17:30
投稿者名:おじん
Eメール:
URL :
タイトル:
Re^2: そのとおりです。ありがとうございました。
> 回答ではありませんが気になったことを。
>
> >  Application.EnableEvents = False '   マクロ無効
> >  Application.DisplayAlerts = False '保存確認
>
> これの「Application」って何者なんでしょう?
> CreateObjectしたExcelオブジェクトに対して行っていない気がするんですけども。
そのとおりです。また、挿入の位置もちょっと違っていました。
ありがとうございました。