Office関連

パスワードが設定されたファイルを開くPowerPointマクロ

WordやExcelと違って、PowerPointの場合はOpenメソッドでファイルを開く際にパスワードを指定するオプションがありません。

PowerPointのマクロで、パスワードが設定されたファイルを開きたいときにどうするかというと、下記コードのようにファイルパスの後に「:」(コロン)を2つつけてパスワードを繋げることで、ファイルを開くことができるようになります。

Option Explicit

Public Sub Sample()
  Const PW_Read As String = "read" '読み取りパスワード
  Const PW_Write As String = "write" '書き込みパスワード
  
  '読み取りパスワードが設定されたファイルを開くとき
  Application.Presentations.Open "C:\Files\ReadPW.pptx::" & PW_Read
  
  '書き込みパスワードが設定されたファイルを開くとき
  Application.Presentations.Open "C:\Files\WritePW.pptx::::" & PW_Write
  
  '両方のパスワードが設定されたファイルを開くとき
  Application.Presentations.Open "C:\Files\PW.pptx::" & PW_Read & "::" & PW_Write
End Sub

■ 参考Webページ

・PowerPoint 2003 post-Service パック 2 の修正プログラム パッケージの説明: 2006 年 3 月 21 日
http://support.microsoft.com/kb/916154/ja

また、2010以降のバージョンの場合は、ProtectedViewWindowsオブジェクトのOpenメソッドであれば「ReadPassword」オプションでパスワードを指定してファイルを開くことができます。

Option Explicit

Public Sub Sample2()
  Application.ProtectedViewWindows.Open "C:\Files\ReadPW.pptx", "read"
End Sub

ただ、不思議なことに下記コードのようにEditメソッドを実行すると、ファイルが開かれると同時に勝手にファイルが閉じてしまいます。
同じプロシージャーを再度実行するとファイルを開いて編集できるようになるのですが、正直よく分からない挙動です。

環境によるものなのかPowerPointの仕様によるものなのかは分かりませんが、とりあえず私の環境(Windows 7 + PowerPoint 2010)では上記のような挙動です。

Option Explicit

Public Sub Sample3()
  Application.ProtectedViewWindows.Open("C:\Files\ReadPW.pptx", "read").Edit
End Sub

[Office用アプリ]Random Data Generator前のページ

目次を更新するWordマクロ次のページ

関連記事

  1. Office関連

    [Word]隠し文字をクイックアクセスツールバーから設定する。

    Wordで、部分的に印刷したくない文字列がある場合には「隠し文字」がよ…

  2. Office関連

    [PowerShell]iTextSharpを使ってPDFファイルを結合する

    mougにあった質問「2つのPDFファイルを結合するには」の回答用に書…

  3. Office関連

    指定したファイルをエクスプローラーで開いて選択するVBAマクロ

    マクロから直接ファイルを開くこともできるけどファイルの操作はユーザーに…

  4. Office関連

    Excel 2013 新関数一覧

    「関数一覧(Excel 2010)」と「関数一覧(Excel 2013…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

Time limit is exhausted. Please reload CAPTCHA.

Translate

Chinese (Simplified)Chinese (Traditional)EnglishFrenchGermanJapaneseKoreanRussianSpanish

最近の記事

アーカイブ

PAGE TOP