Visioのページ数を取得マクロ サンプルコード
Private Function get_page_cnt_vsd(sFile As String, sPath As String) As Long
'ページ数の取得を行う関数(visio)
'引数:処理対象のファイル名、処理対象ファイルの格納フォルダ
Dim visio As Object
Dim lCount As Long
Set visio = CreateObject("Visio.Application”)
With visio
'ファイルオープン
.Documents.Open sPath & "\" & sFile
'シート数取得
lCount = .ActiveDocument.Pages.Count
'Visioを閉じる
.Documents(sFile).Close
.Quit
End With
'オブジェクト変数を解放
Set visio = Nothing
get_page_cnt_vsd = lCount
End Function
Excel VBAでVisioのページ数を取得するマクロの気になるところ
Wordおよびパワーポイントの場合は、Dsofile.dllを使用すればファイルを開かずにページ数・スライド数を取得することができます。取得元となるのは、ファイルのプロパティに表示されているページ数・スライド数です。
ただ、Visioの場合は、ファイルのプロパティにページ数の項目が無いようにみえます。そのため、ファイルを開いてページ数を取得して閉じるという方法で値を取得しています。ファイルを開くとどうしてもマクロの実行速度が落ちてしまうので、ファイルを開かずに値が取れたらいいのですが…。
関連記事
この記事はお役に立てたでしょうか?
もし参考になると思っていただけたら、こちらのボタンから共有をお願いします。
| ツイート |
|