ファイルを開かないでパワーポイントのスライド数を確認 サンプルコード
Private Function get_page_cnt_ppt(sFile As String, sPath As String) As Long 'ページ数の取得を行う関数(パワポ) '引数:処理対象のファイル名、処理対象ファイルの格納フォルダ Dim obj As Object 'オブジェクトを取得 Set obj = GetObject(sPath & "\" & sFile) 'スライド数を取得 get_page_cnt_ppt = obj.BuiltinDocumentProperties(25).Value Set obj = Nothing End Functionスライド数を取得するためには、BuiltinDocumentPropertiesに"25"もしくは"Number of Slides"を指定します。
参考:Dsofile.dllのダウンロード・使い方
ファイルを開かずにパワーポイントのスライド数を確認するには、Dsofile.dllが必要
ファイルを開かずにスライド数を取得するためには、Dsofile.dllをインストールする必要があります。つまり、このマクロを不特定多数の人が使う場合には、各自のPCにDsofile.dllをインストールしなくてはいけないということです。Dsofile.dllインストールが難しいという場合には、どうしたらよいのでしょうか。
その答えとしては、マクロの中でファイルを開くことでスライド数を確認するという方法があります。マクロの実行速度は落ちますが、特別な設定なしでスライド数を確認することが可能です。
ファイルを開いてパワーポイントのスライド数を確認 サンプルコード
Private Function get_page_cnt_ppt(sFile As String, sPath As String) As Long 'ページ数の取得を行う関数(パワポ) '引数:処理対象のファイル名、処理対象ファイルの格納フォルダ Dim pp As Object Dim lCount As Long Set pp = CreateObject("PowerPoint.application”) With pp 'ファイルオープン .Presentations.Open sPath & "\" & sFile, ReadOnly:=True 'スライド数取得 lCount = .activepresentation.slides.Count 'パワポを閉じる .Presentations(sFile).Close .Quit End With 'オブジェクト変数を解放 Set pp = Nothing get_page_cnt_ppt = lCount End Function
この記事はお役に立てたでしょうか?
もし参考になると思っていただけたら、こちらのボタンから共有をお願いします。
ツイート |
|