ブックの「作成者」プロパティを一括変更する|Excel VBA |
ブックを取引先に送付したり、Webからダウンロード形式で提供したりするとき、ブックの「作成者」プロパティに個人名が設定されていたら困りますね。
次のサンプルでは、指定したブックの「作成者」プロパティを一括変更し、変更前/後の「作成者」プロパティの値をイミディエイトウィンドウに表示します。
Sub Sample()
Dim files As Variant, f As Variant
Dim str As String
Const NEW_AUTHOR As String = "株式会社モーグ"
'対象ファイルを選択(複数選択可)
files = Application.GetOpenFilename( _
FileFilter:="Excel ファイル,*.xls; *.xlsx; *.xlsm", _
MultiSelect:=True)
If IsArray(files) Then
Application.ScreenUpdating = False
For Each f In files
'ブックを開く
With Workbooks.Open(FileName:=f)
'変更前
str = .Name & " : " & .BuiltinDocumentProperties("Author").Value
'ブックの「作成者」プロパティを変更
.BuiltinDocumentProperties("Author").Value = NEW_AUTHOR
'変更後
str = str & " → " & .BuiltinDocumentProperties("Author").Value
Debug.Print str
'ブックを保存して閉じる
.Close SaveChanges:=True
End With
Next f
Application.ScreenUpdating = True
End If
End Sub