
No.2ベストアンサー
- 回答日時:
私の環境では Acrobat DC がインストールされていますが、バージョンによって書き方が違う可能性もあります。
また、Reader しか持っていない環境でどうなるかは試していません。
参照設定で 「Acrobat」 にチェックを入れておきます。
Dim acrPdDoc As Acrobat.AcroPDDoc
Set acrPdDoc = New Acrobat.AcroPDDoc
acrPdDoc.Open ("E:\hoge\test.pdf")
MsgBox acrPdDoc.GetFileName ' ファイル名
MsgBox acrPdDoc.GetInfo("Title") ' 文書タイトル
MsgBox acrPdDoc.GetInfo("Author") ' 作成者
MsgBox acrPdDoc.GetInfo("CreationDate") ' 作成日
MsgBox acrPdDoc.GetInfo("ModDate") ' 更新日
acrPdDoc.Close
Set acrPdDoc = Nothing
No.1
- 回答日時:
こんにちは
ファイルを検索するのはそれほど難しくはないと思いますが、
>A列にPDF名称。B列にPDF作成者。C列にPDF出力日
作者名や出力日の情報のありかを私は知りません。
作者名はPDF独自情報として存在するのは存じていますが、出力日は見たことがないですね。
いずれにしろ、PDF独自のプロパティなので、一旦、PDFを開いてドキュメント情報から取得することになるのかと思いますが、一覧を作成するために全部のファイルを開くのでは時間ばかりかかることになりそうな気がします。
M$Office系のファイルにも同様の独自情報がありますが、M$から「Developer Support OLE File Property Reader」なるものがdllとして公開されているので、これを利用することで、ファイルを開くことなく情報を取得できるようです。
https://www.microsoft.com/en-us/download/details …
もし、PDF(Adobe社)でも同様のものを出してくれていれば、比較的簡単に取得できるかも知れません。(作成されているのかどうかは知りません)
・・・というわけで、以下はPDFファイルを検索し、通常の範囲で取得可能な「ファイル名」、「作成日」、「最終更新日」をご質問の要領で表示する参考例です。
骨格としては利用できるのではないかと思いますが、「作者名」、「出力日」の抽出に関しては、質問者様の方でお調べ願います。
Sub Sample()
Dim Fso As Object, Dgl As Object, file
Dim fPath As String, r As Range
Set Fso = CreateObject("Scripting.FileSystemObject")
Set Dgl = Application.FileDialog(msoFileDialogFolderPicker)
fPath = ""
Set r = Worksheets("Sheet1").Cells(2, 1)
r.Worksheet.UsedRange.Offset(1).ClearContents
If Dgl.Show = False Then Exit Sub
fPath = Dgl.SelectedItems(1) & "\"
For Each file In Fso.getfolder(fPath).Files
If LCase(Fso.getextensionname(file.Name)) = "pdf" Then
r.Value = file.Name
r.Offset(0, 1).Value = file.DateCreated
r.Offset(0, 2).Value = file.DateLastModified
Set r = r.Offset(1, 0)
End If
Next file
If r.Row = 2 Then r.Value = "該当ファイルなし"
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) PDFファイルに日付を名前にして保存したい。 エクセル2019でワークシートに請求書のフォームを作り 2 2023/05/27 11:13
- Excel(エクセル) 【マクロ】ファイル名の日付によって、保管するフォルダを、自動選択したい 4 2023/08/16 11:24
- Excel(エクセル) 【ExcelVBA】一覧表の記載に従ってPDFを振り分ける処理がしたい 5 2023/05/23 12:40
- Excel(エクセル) エクセルVBA、間違っているコード内容を正して頂けませんか? エクセルワークシートに納品書を作ったの 2 2023/08/02 21:13
- Visual Basic(VBA) エクセルのマクロについて教えてください マクロを実行して 作業フォルダの中にある PDFファイル名を 3 2023/07/01 15:16
- その他(プログラミング・Web制作) python OpenPyXLを使って出力結果をエクセルに書き込み 2 2022/06/04 19:46
- Excel(エクセル) ファイル一覧表を使ったファイルの移動 5 2022/08/10 15:37
- Excel(エクセル) 【VBA】PDF出力に任意のファイル名前を付ける方法 3 2023/07/21 10:55
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/05/26 17:13
- Visual Basic(VBA) エクセルのマクロについて教えてください 物件ごとのフォルダを作成してます そのフォルダ内にサブフォル 2 2023/07/02 17:58
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
名前をつけて保存する
-
JAVAアプレットで画像保存
-
fortranのプログラムについて ...
-
拡張子.vsdをイラストレーター...
-
VC++でUTF-8のファイルを出力し...
-
COBOLのファイル出力
-
Base64でエンコードした後の文...
-
【ExcelVBA】UTF-8(BOM無)でC...
-
C言語による10進数→16進数変換...
-
データバインディングがうまく...
-
CBool関数について VB6とVB.net...
-
Paiza Cloudです。学籍番号と氏...
-
C#でエクセルみたいな重複行削除
-
シェルコマンドの 2>&1 とはど...
-
テキストファイルに改行コード...
-
ファイル形式またはファイル拡...
-
コマンド(例えばls)の出力結果...
-
C言語初心者の質問失礼します。
-
どんなプログラムを書いても指...
-
ファイル名の先頭にアンダース...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【ExcelVBA】UTF-8(BOM無)でC...
-
テキストファイルに改行コード...
-
コマンド(例えばls)の出力結果...
-
VC++でUTF-8のファイルを出力し...
-
シェルコマンドの 2>&1 とはど...
-
Acccess レポートをグループ別...
-
ファイル形式またはファイル拡...
-
pcap形式データをテキストへ抽出
-
ファイル出力の場所を指定
-
AccessVBA複数レポート条件毎に...
-
外国語とCSVについて
-
VBA でメモ帳へ保存する際の保...
-
サウンド出力のデバイスを選択...
-
C++ fprintf_sの使い方がわからん
-
アプリを実行すると、作成者を...
-
ファイルの文字コードをUTF-8に...
-
1行ずつではなくまとめてファイ...
-
Wordマクロで指定したフォルダ...
-
SendKeys "^V", True(貼り付け...
-
CSVファイルを任意の場所に出力...
おすすめ情報