次の方法で共有


VBAマクロでWordファイルのプロパティ編集

質問

2017年9月26日火曜日 6:25

VBAマクロでWordファイルのプロパティを編集しており、その中で1点質問になります。

Wordのプロパティ「前回保存者」を空白で設定したいのですが、方法がわかりません。

Excelと同様にファイル保存時に「ユーザ名」で更新されると思い、

Application.Usernameを一時的に半角スペースで置き換える等しましたが、

Wordではどうやら動きが異なるようでうまくいきません。

なお、「作成者」に個別の値を設定したいため、

RemovePersonalInformation = False にしています。

宜しくお願いします。

すべての返信 (2)

2017年9月26日火曜日 7:42 ✅回答済み | 1 票

裏技的ですが、全角スペース ; 改行文字とすると前回保存者を空白で設定できるようです。

Sub SetUserAnonymous()
    Dim strDefaultUserName As String
    strDefaultUserName = Application.UserName
    Application.UserName = " " ; vbCrLf
    With ActiveDocument
        ' 「作成者」を設定する必要がない場合は次の1行をコメントアウトしてください
        .BuiltInDocumentProperties("Author") = Application.UserName
        .Save
    End With
    Application.UserName = strDefaultUserName
    ActiveDocument.Close
End Sub

また、単に Application.UserName = vbCrLf とすると「最終更新者」は「未保存」と設定されるようです。


2017年9月27日水曜日 0:14

ご回答ありがとうございました。

参考にさせて頂きます。

「裏技的」ということは、正攻法では難しいものと理解しました。