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

おはようございます。
accessからExcelのブックを開く処理をしています。

VBAでファイルを開く時に、「もし既にファイルを開いているなら、開かない」
という行為をしたいのですが、どのようにすればいいでしょうか?

***************************************************************************
Sub サンプル()
Dim xlApp As Object
Dim xlBook As Object

Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open("C:\【Excel】\料理.xlsm")

xlApp.Visible = True'ファイルを開く?表示する?

Set xlApp = Nothing
Set xlBook = Nothing
End Sub
***************************************************************************
このコードの、
xlApp.Visible = Trueを、

if xlBook がまだ開いてない then
xlApp.Visible = True
Else
End If

のような事がしたいのですが、可能でしょうか?
ご教授よろしくお願いします。

A 回答 (1件)

accessが使える環境でないので未確認ですが



Set xlBook = xlApp.Workbooks.Open("C:\【Excel】\料理.xlsm")
を操作した後なので

If xlBook.ReadOnly Then
??
Else
xlApp.Visible = True
End If

開いたブックが読み取り専用かどうかで判断します。
    • good
    • 1
この回答へのお礼

If xlBook.ReadOnly Then

これでうまくできました!
ありがとうございました。

お礼日時:2012/07/07 21:12

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