「これはヤバかったな」という遅刻エピソード

EXCELのVBAで特定のWORDが開いてあるかチェックしたいのですが、

あるフォルダにWORD文章があるかチェック
     set appWord=GetObject(,"Word.Application")
     Msgbox appWord.Documents.count なければエラー処理で終了
そのWORD文章の名前を取得
     docFile=....    (仮にABC.docxという名前だとしますと)
そのWORD文章が誰かが使っている(開いているか)チェックしたいのですが..
1.使われているなら、-$ABC.docxが作られているはずだから
   dir(-$ABC.docx)として、あれば使われていると判断したいのですが、
   実験するとdir(-$ABC.docx)は、使われて実際にそのファイルがあっても
   falseになってしまいます。dir関数でなくてもいいので、このファイルの
   有無を調べる方法はないでしょうか?
2.その他、読み取り属性とかをみて判断する方法はないでしょうか?
   ただし、使われている場合は、10秒ごとにチェックをいれて、
   使われていない場合に、初めて開くので、エラー処理で逃げるのは
   ダメなのですが。

A 回答 (1件)

“~$”ではじまるファイル名は、隠しファイルですので、Dirで調べるとき、“, vbHidden”「Dir("~$C.docx", vbHidden)」で調べなければなりません。



なお、元ファイル名が「ABC.docx」の場合、調べる隠しファイルは、「~$C.docx」です。
(分かっておられるとは思いますが…)
    • good
    • 0
この回答へのお礼

Dirにそんなoptionがあるのは知りませんでした。ありがとうございました。

お礼日時:2014/08/13 20:59

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

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


おすすめ情報

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