- 締切済み
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
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- onlyrom
- ベストアンサー率59% (228/384)
回答1、onlyromです。 回答1で勘違いされるやも知れない文言がありましたので >objExcel.Workbooks.Countで取得できるのは、VBSから開いたブックのみでは? これは先の回答の、Set云々に関係ありますよ、というのを付け加えておきます。 以上。
- onlyrom
- ベストアンサー率59% (228/384)
objExcel.Workbooks.Countで取得できるのは、VBSから開いたブックのみでは? strFilenameのブックはどうやって開かれてるのか。 VBSからコードで開いているのか、 エクセルから手動で開いているのか? 開かれてるブックは複数あるのか? オブジェクト変数objExcelへのSetの部分なども提示の必要あり。 Set objExcel = ********* 何れにしろ、そこらあたりのコードの提示、 及び全体の処理の流れの補足があると 的確な回答が寄せられると思います。