人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Excel2000のVBAを利用して、ファイルの作成者及び前回保存者等のファイル属性を取り出したいと考えています。WHSのインストールが必要なWscript等は利用しないで、API関数等を利用したいと考えています。具体的なコード等について教えて下さい。なお、APIの知識はほとんどありません。宜しくお願い致します。

●質問者: okehara
●カテゴリ:コンピュータ
✍キーワード:API VBA WHS ほと インストール
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● きゃづみぃ
●35ポイント

http://excelfactory.sakura.ne.jp/excelvbatips/file/file_6.htm

http://excelfactory.sakura.ne.jp/excelvbatips/file/file_7.htm

ThisWorkbook.BuiltinDocumentProperties(3).Value

が作成者です。

ThisWorkbook.BuiltinDocumentProperties(7).Value

が更新者です。

◎質問者からの返答

すみません。質問が正確ではありませんでした。ファイルは他のファイルの属性で、指定したフォルダー下に存在するOfficeファイルのファイル属性を取り出し、Excelシートに書き出したいのです。API関数を使えば何とかなるのではないかと考えた次第です。


2 ● SALINGER
●35ポイント

指定したフォルダに入っている全てのExcelファイルから取得するマクロです。

(エラートラップしていないのでExcel以外は入れないでください)

A列にファイル名、B列に作成者、C列に更新者が入ります。

Sub Macro()
 Dim str As String
 Dim obj As Object
 Dim fso As Object
 Dim myFile As Object
 Dim i As Long
 
 'xlsファイルのあるフォルダのアドレスに変えてください
 str = "C:\Documents and Settings\asano\デスクトップ\sample\"
 
 Set fso = CreateObject("Scripting.FileSystemObject")

 i = 1
 For Each myFile In fso.GetFolder(str).Files
 Set obj = GetObject(myFile.Path)
 Cells(i, 1).Value = myFile.Name
 Cells(i, 2).Value = obj.BuiltinDocumentProperties("Author")
 Cells(i, 3).Value = obj.BuiltinDocumentProperties("Last Author")
 obj.Close
 i = i + 1
 Next
 Set obj = Nothing
 Set fso = Nothing
End Sub
◎質問者からの返答

早速のご回答ありがとうございます。FSOのBuiltinDocumentPropertiesは初めてです。頂いたマクロを標準モジュールに貼り付け動かしたところ、「実行時エラー'438'オブジェクトは、このプロパティまたはメソッドをサポートしていません。」というエラーメッセージが表示されます。何か参照設定等が必要なのでしょうか。可能であれば、参照設定等の操作なしでマクロを動かすだけでリストを作成したいと考えております。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ