VBAで質問です。 共有ではないエクセルファイルを開く時、 毎回読み取り専用になってしまう&閉じるまで何度か開いて確認する 作業が面倒なので、

Visual Basic | Excel66閲覧

ベストアンサー

0

回答とurlの添付ありがとうございます。 早速確認しました。 メッセージとなると一度開かなくてはならず、確認時間は実質的に低減できない為、テキストファイルか何かで開かずとも確認できるシステムにしたかったのですが、 このworkbook_openではテキストファイルが作成できないということでしょうか?

その他の回答(2件)

0

たとえば、ファイルを開く為のマクロとして Sub Sample() Dim f As String Dim wb As Workbook, buf, fso Set fso = CreateObject("Scripting.FileSystemObject") 'ターゲットファイル f = "D:\Sample\test.xlsm" '開く Set wb = Workbooks.Open(f) 'ReadOnlyかどうか確認(TrueでRO) If wb.ReadOnly = True Then MsgBox "ファイルはリードオンリーです。" & vbCr & "誰かが使用している可能性がありますので、" & vbCr & "しばらくお待ちください。", vbExclamation, "メッセージ" wb.Close False Else Set buf = fso.CreateTextFile(fso.GetFile(f).ParentFolder & "\" & Application.UserName & "が使用中.txt") buf.Close End If Set buf = Nothing Set fso = Nothing End Sub 開く方のブックモジュールに Private Sub Workbook_BeforeClose(Cancel As Boolean) On Error Resume Next Kill ThisWorkbook.Path & "\*が使用中.txt" End Sub とやれば、何となくそういう感じの事は出来ますけどもあまりスマートさは感じないですね。 マクロを使わずとも、普通に「通知」クリックでいいような気がします。 http://www.jimu-stress0.com/article/304259360.html

0

回答ではありません。 読み取り専用となるファイルを、以下を参考に確認してみてください。 https://www.moug.net/tech/exopr/0060021.html もし、チェックが付いていたら外してください。 それで直れば問題ないでしょう。 なお、回答ではないため午前中で削除させて頂きます。