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

Accessから、指定された場所のExcelbookを開く際に、既に開いた状態であれば読み取り専用で開くかと思います。
この際に、もしreadonlyならメッセージを出したいのですが、その際のコードの書き方が分かりません。
開くだけなら、
Private Sub test1_Click()
Dim Objxls As Object
Dim strFile As String

strFile = "\\server\Data\test1.xlsm"

Set Objxls = CreateObject("Excel.Application")
With Objxls
.Visible = True
.Workbooks.Open strFile
End With
End Sub

を現在書いてます。

ExcelからExcelbookを開く際は
Sub test1_Click()
Workbooks.Open "\\server\Data\test1.xlsm"
If ActiveWorkbook.ReadOnly = True Then
ActiveWorkbook.Close
MsgBox " 使用中です"
End If
End Sub

で出来たのですが、Accessになるとこのコードが使えなくて・・・

何卒、宜しくお願い致します。

A 回答 (2件)

http://hanatyan.sakura.ne.jp/vbhlp/excel03.htm
いくつか方法はあるみたいですが、、、
他アプリケーションの操作は、いろいろ起きる可能性はありますので、お使いの環境でちゃんと動作するかどうかは試してみないことにはわからないということになります。
    • good
    • 0
この回答へのお礼

ご協力ありがとうございます。
頂きました情報を元に記載してみましたが、動作ができませんでした。
思った以上にAccessからのExcel操作は難しいようですね。

お礼日時:2022/01/20 08:15

With Objxls


  .Visible = True
  .Workbooks.Open strFile
  If .ActiveWorkbook.ReadOnly = True Then
    .ActiveWorkbook.Close
    .Quit
    MsgBox " 使用中です"
  End If
End With

というところですかね?
    • good
    • 0
この回答へのお礼

ありがとうございます!
凄い、とても勉強になりました。
本当にありがとうございました。

お礼日時:2022/01/20 15:43

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