Wordのリボンに読み取り専用の切替えボタンを追加する

以前、PowerPointに読み取り専用ボタンを追加する方法をご紹介しましたが、今回はWordに追加する方法の紹介です。

WordもPowerPointと同じように、デフォルトでは読み取り専用の切替えボタンはありません。

そこでPowerPointと同様に、読み取り専用の切替え機能をアドイン化して、Wordでも利用できるようにしたいと思います。

PowerPointに読み取り専用ボタンを追加する方法が知りたい方は、以下の記事を参考にしてみてください。

目次

準備

ではさっそく、Wordを読み取り専用の切替えボタンを追加するための準備です。

Wordの場合は、dotmファイルと呼ばれるマクロ付きテンプレートファイル使って、読み取り専用ボタンを作成します。以下のリンクからダウンロードできるようにしましたので、よろしければお使いください。

ダウンロードしたdotmファイルのマクロは以下のようになっています。

Option Explicit

'**********************************************************
'* 現在のファイルを閉じて、読み取り専用で開きなおす
'**********************************************************
Sub ReadOnlySwitch()
    With ActiveDocument
        If .Saved = False Then
            '未保存のファイルならダイアログを表示
            Dim rc As Long
            rc = MsgBox("保存されていない変更があります。" & Chr(13) & "保存しますか?", vbYesNoCancel + vbQuestion)
            
            If rc = 6 Then
                '「はい」が選択された場合、上書き保存して続行
                .Save
            ElseIf rc = 7 Then
                '「いいえ」が選択された場合、何もせずに続行
            ElseIf rc = 2 Then
                '「キャンセル」が選択された場合、戻る
                Exit Sub
            End If
        End If
    
        Dim path As String: path = .FullName
        Dim isReadOnly As Boolean: isReadOnly = Not .ReadOnly
        '上書きせずに一度閉じる
        Call .Close(SaveChanges:=wdDoNotSaveChanges)
    End With
    
    '開きなおして印刷レイアウトで表示
    Dim doc As Document: Set doc = Documents.Open(FileName:=path, ReadOnly:=isReadOnly)
    doc.ActiveWindow.View.Type = wdPrintView
End Sub

'**********************************************************
'* コマンドバーを作成する
'**********************************************************

Sub CreateCommandBar()
    Dim myToolBar As CommandBar
    Dim myCbarCtl As CommandBarControl
    Dim myCbarName As String
    
    'myBar()の数字で、ボタンの数を定義する
    Dim myBar(1) As String
    
    Dim myString() As String
    Dim i As Integer
    
    '前処理
    'コマンドバーの名称設定
    myCbarName = "ToolBar"
    
    'ボタンの数だけ設定する
    '[0]表示
    '[1]ヒント
    '[2]マクロ名
    '[3]FaceID
    '[4]グループ開始
    '[5]表示スタイル/1=アイコン、2=テキスト、3=両方
    myBar(1) = "読み取り専用の設定/解除,読み取り専用の設定/解除,ReadOnlySwitch,456,false,3"
    
    '保存先の指定
    Application.CustomizationContext = ThisDocument
    
    'myCbarNameと同名のコマンドバーがあれば削除
    For Each myToolBar In Application.CommandBars
        If myToolBar.Name = myCbarName Then
            myToolBar.Delete
            Exit For
        End If
    Next
    
    'コマンドバーの作成
    Set myToolBar = CommandBars.Add(Name:=myCbarName, Position:=msoBarTop, Temporary:=False)
    myToolBar.Visible = True
    
    'ボタンの作成
    For i = UBound(myBar) To 1 Step -1
        myString() = Split(myBar(i), ",")
        
        'ボタン追加
        Set myCbarCtl = CommandBars(myCbarName).Controls.Add(Type:=msoControlButton, Temporary:=False, Before:=1)
        
        With myCbarCtl
            'ラベル設定(表示)
            .Caption = myString(0)
            
            'ヒント設定(ヒント)
            .TooltipText = myString(1)
            
            'アクション設定(マクロ名)
            .OnAction = myString(2)
            
            'faceID設定(faceID)
            .FaceId = myString(3)
            
            'グループ開始の設定(グループ開始)
            .BeginGroup = myString(4)
            
            '表示設定(表示スタイル)
            .Style = myString(5)
        End With
        
        Set myCbarCtl = Nothing
    Next
    
    '後処理
    Set myToolBar = Nothing
End Sub

設定方法

ではさっそく、ダウンロードしたファイルを使って設定方法を説明します。

STEP
dotmファイルの格納

Wordのテンプレートファイルを置く場所は決まっていますので、そこにファイルを格納します。具体的には、以下のパスです。※ユーザー名は各自の環境に合わせてください。

C:\Users\<ユーザー名>\AppData\Roaming\Microsoft\Word\STARTUP

dotmファイルを「C:\Users\\AppData\Roaming\Microsoft\Word\STARTUP」に格納する
dotmファイルを格納する

AppDataフォルダはデフォルトでは非表示フォルダとなっていますので、エクスプローラーで隠しファイルを表示するようにしてください。表示方法が分からなければ、エクスプローラーのアドレスバーに、上記のアドレスを直接入力して移動することも可能です。

STEP
Wordでテンプレートファイルを読み込む

任意のWordファイルを開き、[ファイル] > [オプション] > [アドイン]と進んでいきます。

Wordのファイルをクリックし、オプションを開く
オプションを選択

そして、[管理]プルダウンから[Wordアドイン]を選択し、[設定]をクリックします。

Wordのオプションでアドインを選択し、管理のプルダウンを「Wordアドイン」にして、設定ボタンを押下する。
Wordのオプション

表示されたダイアログの「アドインとして使用できるテンプレート」に、STEP1で格納したdotmファイルがあることを確認して、チェックを付けてください。

もし表示されていなければ、[追加]ボタンからdotmファイルを追加してください。

「アドインとして使用できるテンプレート」に追加したdotmファイルが表示されて、チェックボックスがオンになっている状態
テンプレートとアドインダイアログ

最後に[OK]をクリックして、ダイアログを閉じます。

STEP
動作確認

テンプレートファイルの読み込みに成功すると、リボンに新たなタブが追加されていると思います。

リボンを開くと[読み取り専用を設定/解除]ボタンが追加されていると思いますので、動作確認をしてみてください。

読み取り専用が解除された状態で開かれたWord
読み取り専用が解除されたWord
読み取り専用状態で開かれたword
読み取り専用が設定されたWord

まとめ

以上が、Wordに読み取り専用を設定/解除ボタンを追加する方法となります。

リボンに追加されたボタンはクイックアクセスツールバーにも設定できますので、好みに合わせて設定してみてください。

また、Wordファイルを開いてから読み取り専用にするのではなく、開くときに読み取り専用で開く方法についてもまとめていますので、良ければ参考にしてください。

  • URLをコピーしました!

コメント

コメントする

目次