アプリ版:「スタンプのみでお礼する」機能のリリースについて

ファイル(Excel/WORDなど)のプロパティの詳細の
「コンテンツの作成日時」、「前回保存日時」、「前回印刷日時」
を、VBAで取得/設定する方法を知りたいのですが?
サンプルコードを提示していただければ大助かりです。
ご教授よろしくお願いします。

A 回答 (1件)

'Excel 2003でテスト


'http://msdn.microsoft.com/en-us/library/microsof …
'もどってくる値が、Object扱いで、どういう文字列になるのか予測がつかないのが個人的な難点。
Sub Main()
Cells(1, 1).Value = ThisWorkbook.BuiltinDocumentProperties("Creation Date").Value
Cells(1, 2).Value = ThisWorkbook.BuiltinDocumentProperties("Last Save Time").Value

End Sub

'==============================
'Word 2003でテスト。何故かこっちには列挙体が定義されている。
'http://msdn.microsoft.com/en-us/library/microsof …
'http://msdn.microsoft.com/en-us/library/microsof …

Sub Main()
MsgBox (ThisDocument.BuiltInDocumentProperties(WdBuiltInProperty.wdPropertyTimeCreated).Value)
MsgBox (ThisDocument.BuiltInDocumentProperties(WdBuiltInProperty.wdPropertyTimeLastSaved).Value)

End Sub

'リファレンス中のサンプルはVB.NET向けなので、そのままでは使えない。
'リファレンスにもあるとおり、その形式がサポートしないようなプロパティのValueを参照するとエラーになるので注意。
    • good
    • 0
この回答へのお礼

himajin100000さん早々の回答有難うございました。
早速試行したのですが非力にて結果を出すのに時間がかかりました。
<試行結果Excel-VBA>
Sub Propertie表示()
Dim wTarget As String
Dim wBookname As String
Dim R As Long
Dim P As Variant
On Error Resume Next
wTarget = Application.GetOpenFilename("Excel Files(*.xls), *.xls")
If wTarget = "" Then Exit Sub
Range("A2:B50").ClearContents
Cells(1, 1).Value = "BuiltinDocumentProperties"
Cells(1, 2).Value = "DATA"
R = 2
Workbooks.Open wTarget
wBookname = ActiveWorkbook.Name
Workbooks(ThisWorkbook.Name).Activate
For Each P In Workbooks(wBookname).BuiltinDocumentProperties
Cells(R, 1).Select
Cells(R, 1).Value = P.Name
Cells(R, 2).Value = Workbooks(wBookname).BuiltinDocumentProperties(P.Name).Value
R = R + 1
Next
Workbooks(wBookname).Close
End Sub

お礼日時:2011/05/04 16:13

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