ブックの読み取り専用/編集可能を切り替える

現在開いているブックが編集可能状態なら読み取り専用に、読み取り専用状態なら編集可能に切り替えます。これには、ブックを開き直す方法と、アクセスモードを切り替える方法があります。

ブックを開き直して読み取り専用を切り替える

現在のブックのフルパスと読み取り専用状態を取得してからいったん閉じ、状態を変えて開き直す方法です。同様の方法は、Wordなどでも使えます。

Sub ブックの読み取り専用の切替1()
    Dim pathWB As String
    Dim flgR As Boolean

    With ActiveWorkbook
        pathWB = .FullName
        flgR = .ReadOnly
        .Close
    End With
    Workbooks.Open Filename:=pathWB, ReadOnly:=Not (flgR)
End Sub

アクセスモードで読み取り専用を切り替える

ファイルのアクセスモードを切り替えるExcelの機能を利用する方法です。

Sub ブックの読み取り専用の切替2()
    With ActiveWorkbook
        If .ReadOnly Then
            .ChangeFileAccess Mode:=xlReadWrite
        Else
            .ChangeFileAccess Mode:=xlReadOnly
        End If
    End With
End Sub
マクロを使わずにExcelの[読み取り専用の設定/解除]コマンドでも同じことができます。ただし、[読み取り専用の設定/解除]コマンドは標準状態のリボンにはないので、別途登録する必要があります。
読み取り専用の設定/解除

 

 

タイトルとURLをコピーしました