プロが教える店舗&オフィスのセキュリティ対策術

複数あるフォルダ内に入っている、全てのサブフォルダ及びファイルの名前、ページ数をリストにする方法はないでしょうか。出来ればエクセルに出力したいと考えています。
ページ数を表記したいものはPDFファイルのみで、PDFファイル以外はファイルの名前のみを表記したいと思っています。

現在は、ページ数を除き、
http://q.hatena.ne.jp/1176949723
にあります「調査.vbs」という名前で保存する方法を元に作成したファイルを使用して、
調査したいフォルダをファイルに移動したら勝手に一覧になる方法で行っています。


使用するPC環境では、フリーソフト等がダウンロード・インストールができないため、
それ以外の方法でと考えています。


よろしくお願いいたします。

A 回答 (2件)

何をキーワードにして、Googleったのか忘れてしまいました。


とりあえず、acrobat PDF pagecount で行ったところで発見したもので
作ってみましたが? 当方 Acrovat は持ち合わせておりません (^^ゞ

Function PDFPages(sPDFPath As String) As Long
'http://forums.adobe.com/message/2696593 ←オリジナル
  Dim oAcro As Object
  Dim AVDoc As Object
  Dim PDDoc As Object
  
  Set oAcro = CreateObject("Acroexch.app")
  oAcro.Show '可視・不可視切り替え
  Set AVDoc = CreateObject("AcroExch.AVDoc")
  
  If AVDoc.Open(sPDFPath, "") Then
    Set PDDoc = AVDoc.GetPDDoc()
    PDFPages = PDDoc.GetNumPages
  End If
  
  Set PDDoc = Nothing
  Set AVDoc = Nothing
  Set oAcro = Nothing
End Function

参照設定にチェックを入れられば、処理速度も改善されるかも?
私からは、ここまでです。<m(__)m>
    • good
    • 0
この回答へのお礼

ありがとうございます。
特定のPCでないとテストできないため、何度かテストしてみましたが、
ページ数を取得することができました。
あとは、フォルダ階層とファイル名を出すものと合体させて完成させたいと思っています。

本当にありがとうございました。

お礼日時:2012/03/23 23:38

こちらを読んでExcelに書き出してください。


フォルダ内のファイル一覧の取得
http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub0 …
のFileSystemObjectを使う方法の所です。

PDFのページ数を取得する方法は、
acrobat がインストールされていればともかく、(WEB上にサンプルも豊富にあり)
adobe reader だけでは、とても難しいと思います。
Googleっても見つからないですね。
    • good
    • 0
この回答へのお礼

回答いただきありがとうございました。

説明が足りず申し訳ありませんでした。
Adobe Acrobatはインストールされています。

VBAで検索をして試してみましたが、うまく動かず、こちらで質問させていただきました。
VBAでもPDFのページ数を取得する方法は高度なものらしく、説明を読んでもコードを読んでもよくわからず、なにかわかりやすく説明をされているものなどはないかと思い、探しております。
大変勝手ではございますが、分かりやすいサイトなどがありましたら、ご教授くださいますようお願いいたします。

お礼日時:2012/03/20 00:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!