久しぶりにExcelVBAと戯れているのでメモレベルでかきかき。
'''''''''''''''''''''''''''''''''''''''''' ' 現在のブックを読み取り専用で開き直す '''''''''''''''''''''''''''''''''''''''''' Sub readOnlyOpen_NoSave() rc = MsgBox(ActiveWorkbook.name & "を読み取り専用で開き直しますか?この時、保存されません。", vbOK + vbcalcel) If rc = vbCancel Then Exit Sub End If Dim fullName As String: fullName = ActiveWorkbook.fullName '保存せず閉じる ActiveWorkbook.Close SaveChanges:=False '読み取り専用で開き直す Workbooks.Open FileName:=fullName, ReadOnly:=True End Sub