指定のエクセルファイルが開いているか確認

解決


Tomi  2013-06-02 08:25:15  No: 143466  IP: [192.*.*.*]

お世話になります。
指定したエクセルファイルが開いているかの確認をしたいと思いますが、
下記のプログラムでエラーが発生します。
Sub Test()
        Dim xlApp As Excel.Application
        Dim xlBook As Excel.Workbook
’指定の物が開かれているかをチェックする
        For Each xlBook In xlApp.Workbooks
            ''見つかったらループを抜ける
            If xlBook.Name = "YYYYYYYY.xls" Then
                Exit For
            End If
        Next xlBook
  上記のFor  ******のとこで
  NellReferenceExceptionはハンドルされませんでしたとのエラーが
  でます。解決策を教えて頂きたいと思います。

編集 削除
魔界の仮面弁士  2013-06-04 12:07:16  No: 143467  IP: [192.*.*.*]

> Dim xlApp As Excel.Application
変数を宣言しただけで、中身をセットしていませんよね。

xlApp が Nothing のままでは、どの Excel を操作すれば良いのか
VB には分かりませんので、NellReferenceException の例外が
発生してしまうことになります。

起動済みの Excel をオブジェクトとして拾うには、
GetObject を使う方法と ROT を辿る方法とがあります。
http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200907/09070041.txt
http://www.hanatyan.sakura.ne.jp/vbnetbbs/wforum.cgi?no=10324&reno=10323&oya=10322&mode=msgview&page=0

編集 削除
Tomi  2013-06-05 03:56:58  No: 143468  IP: [192.*.*.*]

ありがとうございます。
  参考にさせて頂きます。

編集 削除