Excel を常に読み取り専用で開かせるマクロ
会社で皆が見ているブックを読み取り専用にせず開いたまま離席する人がいて迷惑しているので、「お願いですからこのマクロ入れてください」ってお願いした。
(共有ブックにするとセル結合とかできないので共有ブックにはしないである…)
ネタ元のコードは上のサイトを参照のこと。ExcelApplication_SheetChange
プロシージャはなくてもとりあえず OK。
上のサイトが消えた時のために以下に引用し、一部修正。これを個人用マクロブック (Personal.xlsb) に仕込んでおく。
Dim WithEvents ExcelApplication As Application
Private Sub Workbook_Open()
Set ExcelApplication = Application
End Sub
Sub ExcelApplication_WorkbookOpen(ByVal wb As Workbook)
If wb Is ThisWorkbook Then
Exit Sub
End If
If Not wb.ReadOnly Then
If MsgBox(wb.Path & "\" & wb.Name & "を読み取り専用で開きますか?", vbYesNo + vbQuestion + vbDefaultButton1, "確認") = vbYes Then
wb.Saved = True
wb.ChangeFileAccess Mode:=xlReadOnly
End If
End If
End Sub