• 締切済み

VBSでExcelのオープン確認

VBSCRIPTでエクセルに書き込むものを作っているのですが・・・ エクセルが開きっぱなしの場合、同じシートが開いて書き込めなかったりなど有りその対策を考えています。 もし開いていたらMsgBoxを出して終了させてしまおうかと思うのですがエクセルが開いているかどうか確認できません・・・ どのようにしたらよいでしょうか? wbCount = objExcel.Workbooks.Count msgbox wbCount myFlag = False for i = 1 to wbCount if objExcel.Workbooks(i).Name = strFilename then myFlag = True Exit for end if next if myFlag = True then msgBox "Open" else msgBox "not Open" end if

みんなの回答

  • onlyrom
  • ベストアンサー率59% (228/384)
回答No.2

回答1、onlyromです。 回答1で勘違いされるやも知れない文言がありましたので >objExcel.Workbooks.Countで取得できるのは、VBSから開いたブックのみでは? これは先の回答の、Set云々に関係ありますよ、というのを付け加えておきます。 以上。

  • onlyrom
  • ベストアンサー率59% (228/384)
回答No.1

  objExcel.Workbooks.Countで取得できるのは、VBSから開いたブックのみでは? strFilenameのブックはどうやって開かれてるのか。 VBSからコードで開いているのか、 エクセルから手動で開いているのか? 開かれてるブックは複数あるのか?   オブジェクト変数objExcelへのSetの部分なども提示の必要あり。 Set objExcel = ********* 何れにしろ、そこらあたりのコードの提示、 及び全体の処理の流れの補足があると 的確な回答が寄せられると思います。    

関連するQ&A