対象:Excel2003, Excel2007, Excel2010, Excel2013
複数の人でExcelファイルを扱っていると、たくさんのExcelファイルの作成者名を一括で調べたいというときがあります。
[スポンサードリンク]
そんなときに使えるマクロをVBA(Visual Basic for Applications)で作ってみましたのでご紹介しておきます。
Sub 指定したフォルダの全Excelファイルの作成者名一覧を作成する()
Dim f_dlg As FileDialog
Dim fold_path As String
Dim file_name As String
Dim bk As Workbook
Dim i As Long
Set f_dlg = _
Application.FileDialog(msoFileDialogfolderPicker)
If f_dlg.Show = 0 Then Exit Sub
fold_path = f_dlg.SelectedItems(1)
file_name = Dir(fold_path & "\*.xls*")
If file_name = "" Then
MsgBox "指定されたフォルダにはExcelファイルがありません。"
Exit Sub
End If
ThisWorkbook.Worksheets.Add Before:=Sheets(1)
Range("A1").Value = "『" & fold_path & "』のExcelファイル作成者名一覧"
Range("A3").Value = "ファイル名"
Range("B3").Value = "作成者名"
Range("A3:B3").HorizontalAlignment = xlCenter i = 4 ' 作成者一覧を開始する行番号
Do Until file_name = ""
Set bk = Workbooks.Open(Filename:=fold_path & "\" & file_name)
With ThisWorkbook.Sheets(1)
.Cells(i, 1).Value = _
bk.Name
.Cells(i, 2).Value = _
bk.BuiltinDocumentProperties("Author").Value
End With
bk.Close SaveChanges:=False
file_name = Dir
i = i + 1
Loop
Range("A3", Cells(i, 2)).Columns.AutoFit
End Sub
Dim f_dlg As FileDialog
Dim fold_path As String
Dim file_name As String
Dim bk As Workbook
Dim i As Long
Set f_dlg = _
Application.FileDialog(msoFileDialogfolderPicker)
If f_dlg.Show = 0 Then Exit Sub
fold_path = f_dlg.SelectedItems(1)
file_name = Dir(fold_path & "\*.xls*")
If file_name = "" Then
MsgBox "指定されたフォルダにはExcelファイルがありません。"
Exit Sub
End If
ThisWorkbook.Worksheets.Add Before:=Sheets(1)
Range("A1").Value = "『" & fold_path & "』のExcelファイル作成者名一覧"
Range("A3").Value = "ファイル名"
Range("B3").Value = "作成者名"
Range("A3:B3").HorizontalAlignment = xlCenter i = 4 ' 作成者一覧を開始する行番号
Do Until file_name = ""
Set bk = Workbooks.Open(Filename:=fold_path & "\" & file_name)
With ThisWorkbook.Sheets(1)
.Cells(i, 1).Value = _
bk.Name
.Cells(i, 2).Value = _
bk.BuiltinDocumentProperties("Author").Value
End With
bk.Close SaveChanges:=False
file_name = Dir
i = i + 1
Loop
Range("A3", Cells(i, 2)).Columns.AutoFit
End Sub
実行すると、フォルダを指定するダイアログが表示され、指定されたフォルダに含まれる全Excelファイルの作成者名一覧が、新規シートに作成されます。
作成者名だけではなく他のプロパティも一覧にしたい場合、BuiltinDocumentPropertiesプロパティを指定してやってください。
[スポンサードリンク]
- Newer:作成者名を一括変更するExcelマクロ
- Older:合計を集計用シートにまとめるExcelマクロ
Home » エクセルマクロ・Excel VBAの使い方 » Workbooks・Workbook » 作成者名一覧を作成するExcelマクロ