如果有一個Word檔中已存在了大量的「註解」,且希望將所有註解作者姓名
一次全部更改為另一個作者姓名,可不可以呢? 答案是可以的,請看下方的做法:
利用以下VBA碼即可一次大量更改註解之作者姓名。如果註解有不同作者的話,比方法不好,請參考另一篇文章
word檔中已存在之追蹤修訂作者或是註解的全名或是縮寫姓名是否可以修改,答案是可以的。(Word追蹤修訂改作者名字,修改註解的作者名字)
- 重要:選擇(Mark)包含註釋的範圍或選擇要更改作者姓名的整個文檔,如要整份文件一次修改的話則全選按Ctrl + A 按鍵。
- 按下 ALT + F11 鍵打開 Microsoft Visual Basic for Applications視窗。
- 在Microsoft Visual Basic for Applications 視窗中,選擇插入 > 模組。 然後將下列VBA碼複製到模組窗口中。
- 按F5執行
- 在請輸入新的作者全名對話框中,輸入新的作者姓名全名,然後點擊 OK 按鈕。
- 在請輸入新的作者簡稱對話框中,輸入新的作者姓名簡稱,然後點擊 OK 按鈕。
- 收工。看看你想改的作者名都改好啦~~~
VBA碼如下:=================================================
方法一:一次全改
Sub ChangeCommentAuthor()
'Reference form https://www.datanumen.com/blogs/4-ways-delete-change-author-names-comments-word-document/
'Chinese culture By Birdman 2022/12/29
Dim xNewName As String
Dim xShortName As String
Dim objComment As Comment
xNewName = InputBox("請輸入新的作者全名:", "請輸入新的作者全名")
xShortName = InputBox("請輸入新的作者簡稱:", "請輸入新的作者簡稱")
If xNewName = "" Or xShortName = "" Then
MsgBox "您輸入的的作者全名或簡稱是空的", vbInformation, "未完成報告"
Exit Sub
End If
' Change all author names in comments
For Each objComment In ActiveDocument.Comments
objComment.Author = xNewName
objComment.Initial = xShortName
Next objComment
End Sub
方法二:只改有Mark的註解作者,如果沒有Mark就不會更改。
Sub ChangeCommentAuthor()
'Updated by EntendOffice 20181112
'Chinese culture By Birdman 2020/01/06
Dim I As Long
Dim xNewName As String
Dim xShortName As String
If Selection.Comments.Count = 0 Then
MsgBox "沒有可以改變的註解,或是您沒有Mark要改的文章!", vbInformation, "一定要Mark要修改的地方"
Exit Sub
End If
xNewName = InputBox("請輸入新的作者全名:", "請輸入新的作者全名")
xShortName = InputBox("請輸入新的作者簡稱:", "請輸入新的作者簡稱")
If xNewName = "" Or xShortName = "" Then
MsgBox "您輸入的的作者全名或簡稱是空的", vbInformation, "未完成報告"
Exit Sub
End If
With Selection
For I = 1 To .Comments.Count
.Comments(I).Author = xNewName
.Comments(I).Initial = xShortName
Next I
End With
End Sub
參考資料: