
はじめまして。
エクセルのVBAでPDFのプロパティを見に行くことは可能でしょうか。
PDFであればなんでもよいのですが、
例えば、
http://www.ti.com/lit/wp/slyy063/slyy063.pdf
をダウンロードして開いて、
ファイル⇒プロパティを開くと、
「作成日」と「更新日」をテキストデータで取得したいです。
PDFが更新されたかどうかを自動で判別するVBAを作っている最中ですが、
プロパティ情報でしか更新されたかどうかを判別するのが難しそうで
プロパティで「作成日」と「更新日」を見に行けるものを作ろうと思っております。
ご教授いただければ幸いです。
以上よろしくお願いいたします。

No.1ベストアンサー
- 回答日時:
Excel 本体の方ではなく Visual Basic Editor の「ツール」「参照設定」で「~Acrobat~」みたいなものが有ればリンク先のような方法が取れるかと思います。
お試し下さい。http://unilab.gbb60166.jp/VBA_PDF/VBA_PDF.htm
アドバイスいただき、誠にありがとうございます。
Acrobat本体がいるとのことで、最終的にAcrobat Readerを毎回立ち上げて、無理やりプロパティを見に行く方法にしました。
非常に処理に時間がかかりますが、背に腹に変えられないので。
アドバイスいただきました、リンク、大変勉強になりました。
No.3
- 回答日時:
#2の回答者です。
#2は、完全に間違えました。
作り直して、ご質問のリンク先に限っては、「作成日」と「更新日」は簡単に取れたものの、おそらく、一部のpdf のみで、私が考えたものは汎用性がありません。取得できるのは、XML として備えている pdf ファイルのみです。
調べてみた所、Acrobat (Reader ではない)を持っていないと、どうやら、それを取り出すことが出来ないようにも思えます。もう少し調べてみますが、かなり期待は薄いです。
アドバイスいただき誠にありがとうございます
No.1の方のところにも記載させていただきましたが、結局Acrobat Readerを毎回立ち上げることにしました。
ただ、VBA経由でPDFをダウンロードすると、たまにプロパティが開けないものがあったり、そもそもファイルが破損していたりと、
まだまだデバッグの余地がありそうです・・・
https://www.ka-net.org/blog/?p=2337
こちらのリンクを参考にして最終的につくりあげました。
ひとまず、お金は現時点で書けたくないので、これで行こうとおもいます。
大変助かりました、ありがとうございます。
No.2
- 回答日時:
以下を試してみてください。
良かったようないけなかったような、今のところ、確信がありません。
'//
Sub CheckFileDates()
Dim objFS As Object
Dim fn As Variant
Dim objFile As Object
Set objFS = CreateObject("Scripting.FilesystemObject")
fn = Application.GetOpenFilename("PDFファイル(*.pdf),*.pdf", Title:="ファイル選択")
If VarType(fn) = vbBoolean Then Exit Sub
Set objFile = objFS.GetFile(fn)
MsgBox objFile.Name & vbCrLf & _
"作成日: " & objFile.DateCreated & vbCrLf & _
"更新日: " & objFile.DateLastModified
' Debug.Print objFile.Name; objFile.DateCreated; objFile.DateLastModified
End Sub
アドバイスいただきありがとうございます。
質問しておいて、非常に勝手かとは思いますが、
別の方法で実現しました。
また何かあれば、ご教授いただければ幸いです。
勝手かとは思いますが、今回は最初にアドバイスいただきました、No.1様をベストアンサーとさせていただきました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
c言語の変数一覧の取得
-
VBSで作成した相対パスのショー...
-
Tomcat ドキュメントルートの設...
-
ACCESS・VBAを利用者から隠す方法
-
【Disk2vhd】というソフトで作...
-
Excel2016 シート移動(ハイパ...
-
勝手にショートカットのリンク...
-
jw cadの名前をつけて保存・・...
-
Wordのデータが毎回破損してしまう
-
Thunderbirdのプロファイルが読...
-
All Usersとは何のことでしょう...
-
VBAでFormat がうまく使えない
-
DVD-Rなのに再書き込みや削除が...
-
Googleドライブにインターネッ...
-
ショートカットファイルが開け...
-
シェルスクリプトの実行エラー...
-
数か所に同時保存する方法
-
C:\\Users\\All Users がエク...
-
シェルスクリプトでFTPの実行結...
-
VLC Media Playerで画像を保存...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Tomcat ドキュメントルートの設...
-
エクセルファイルの使用期限の...
-
VBSで作成した相対パスのショー...
-
c言語の変数一覧の取得
-
Excel2016 シート移動(ハイパ...
-
VBAでPDFの中のプロパティを見...
-
「ハードディスクがいっぱいで...
-
XMLの属性追加
-
EC-CUBEで大量にページを作る方法
-
eclipseの質問
-
POI 読込 OutOfMemory
-
ACCESS・VBAを利用者から隠す方法
-
印鑑(日付印)の作成について
-
PHPでアクセスエラーがでます
-
VBのファイル内容検索
-
同じサイトを2台のPC(vista)で...
-
【Disk2vhd】というソフトで作...
-
ローカルでFLASHが表示しない
-
-Tomcat3.2.3からWebSphereAPSe...
-
データベース接続文字列の暗号...
おすすめ情報