ファイルを開かないでパワーポイントのスライド数を確認 サンプルコード
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
この記事はお役に立てたでしょうか?
もし参考になると思っていただけたら、こちらのボタンから共有をお願いします。
| ツイート |
|