プロが教える店舗&オフィスのセキュリティ対策術

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

A 回答 (2件)

回答1、onlyromです。



回答1で勘違いされるやも知れない文言がありましたので

>objExcel.Workbooks.Countで取得できるのは、VBSから開いたブックのみでは?

これは先の回答の、Set云々に関係ありますよ、というのを付け加えておきます。
以上。
    • good
    • 0

 


objExcel.Workbooks.Countで取得できるのは、VBSから開いたブックのみでは?

strFilenameのブックはどうやって開かれてるのか。
VBSからコードで開いているのか、
エクセルから手動で開いているのか?

開かれてるブックは複数あるのか?
 
オブジェクト変数objExcelへのSetの部分なども提示の必要あり。
Set objExcel = *********

何れにしろ、そこらあたりのコードの提示、
及び全体の処理の流れの補足があると
的確な回答が寄せられると思います。
 
 
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A