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

Excelには読み取り専用の切り替えボタンがありますが、PowerPointやWordにはないですよね。

というわけで、PowerPointに読み取り専用を切り替える(ON/OFFする)ボタンを追加する方法をまとめました。

また、保存されていないファイルを読み取り専用にしようとすると、保存するかどうかのダイアログが表示されるようにしています。

今回はPowerPointに追加する方法ですが、近いうちにWordに追加する方法もまとめたいと思います。

Wordについても、やり方をまとめました。

目次

準備

PowerPointに読み取り専用ボタンを設定するにあたり、以下3つのファイルが必要です。

  • 読み取り専用で開くためのマクロが記述されたファイル(ppamファイル)
  • リボンのUIを定義するファイル(xmlファイル)
  • 参照情報を定義するファイル(relsファイル)

最終的には、この3ファイルをppamファイルにまとめて使用します。完成形のファイルを作成しましたので、よろしければダウンロードして使ってください。

それぞれの内容を知りたい方は、このまま読み進めてください。内容には興味がないという人は、設定方法まで読み飛ばして下さい。

ppamファイル

PowerPointを読み取り専用で開くためのマクロは以下のようになります。

コメントも追加していますので、大まかな流れは理解できると思います。

Option Explicit

'**********************************************************
'* 現在のファイルを閉じて、読み取り専用で開きなおす
'**********************************************************

Sub ReadOnlySwitch()
    With ActivePresentation
        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
        '上書きせずに一度閉じる
        .Saved = msoTrue
        Call .Close
    End With
    
    '読み取り専用で開く
    Call Presentations.Open(FileName:=path, ReadOnly:=isReadOnly)
End Sub

xmlファイル

ppamファイル内にある、customUI.xmlファイルを使って、リボンを自分専用にカスタマイズすることができます。

配布しているppamファイルのcustomUI.xmlは以下のようになっています。

<?xml version="1.0" encoding="utf-8"?>
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
	<ribbon startFromScratch="false">
		<tabs>
			<tab id="MyTab" label="Add-in">
				<group id="MyGroup1" label="Add-in">
					<button id="ReadOnly" label="読み取り専用の設定/解除" imageMso="ReadOnly" size="normal" onAction="ReadOnlySwitch" />
				</group>
			</tab>
		</tabs>
	</ribbon>
</customUI>

relsファイル

配布しているppamファイル内の.relsファイルに、先ほど紹介したcustomUI.xmlファイルの情報を追記しています。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="myCustomUI" Type="http://schemas.microsoft.com/office/2006/relationships/ui/extensibility" Target="customUI/customUI.xml"/><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="ppt/presentation.xml"/></Relationships>

設定方法

先ほど用意したファイルを使って、PowerPointに読み取り専用ボタンを追加していきます。

STEP
ppamファイルをアドインフォルダに格納する

Officeには、アドインフォルダとして設定されているフォルダがありますので、そこに「ppamファイル」を格納します。

具体的には、次の通りです。※ユーザー名は各自の環境に合わせて読み替えてください。

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

ppamファイルをAddinsフォルダに追加する

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

STEP
PowerPointでアドインファイルを読み込む

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

PowerPointを開き、[ファイル]、[オプション]を選択する。

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

PowerPointのオプション画面で、アドインを選択する。次に[管理]プルダウンを[PowerPointアドイン]に変更し、[設定]をクリックする。
PowerPointのオプション

表示されたダイアログの[新規追加]ボタンをクリックし、STEP1で格納したファイルを選択し、チェックが付いていることを確認します。

アドインダイアログの「新規追加」をクリックする
アドインの追加
アドインを選択する
アドインの選択
使用可能なアドインに追加され、チェックされていることを確認する
アドインの追加

最後に、[閉じる]をクリックして終了です。

STEP
動作確認

アドインファイルの読み込みに成功すると、リボンのところに「Add-in」というのが追加されていると思います。

タイトルバーに[読み取り専用]がないことを確認する
読み取り専用が解除された状態のPowerPoint

Add-inリボンを開くと「読み取り専用の設定/解除」ボタンが追加されているので、実際に切り替わるかどうか確認してください。

タイトルバーに[読み取り専用]が追加されたことを確認する
読み取り専用を設定した状態のPowerPoint

まとめ

以上がPowerPointに読み取り専用の切替えボタンを追加する方法となります。

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

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

  • URLをコピーしました!

コメント

コメントする

目次