【发布时间】:2023-03-12 16:57:02
【问题描述】:
我厌倦了 cmets 到处乱跑,导致滚动条缩小,所以我想构建一个宏来将所有旧注释转换为新的线程注释。我遇到的问题是我需要保留原始作者,但是当我尝试更改我的 Threaded Comment 的作者时,我得到了一个错误,请参见下面的代码。
如何更改 Threaded cmets 的作者?谷歌没有给我指路:)
Public Sub Convert_Notes_to_Comments()
Dim rng As Range, cell As Range
Dim CommentText As String, cleanedText As String, commentAuthor, newComment As CommentThreaded
Set rng = Selection
For Each cell In rng
If Not cell.Comment Is Nothing Then
CommentText = cell.Comment.Text
commentAuthor = cell.Comment.Author
cleanedText = Replace(CommentText, commentAuthor & ":", "")
cell.Comment.Delete
Set newComment = cell.AddCommentThreaded(cleanedText)
cell.CommentThreaded.Author = commentAuthor 'I GET AN ERROR HERE
End If
Next cell
End Sub
【问题讨论】:
-
Application.username 不幸地没有工作。我将尝试使用 Environ("username")
-
您要更改特定范围(选择)的 cmets,还是全部(在特定工作表或所有工作簿中)?
-
恐怕
CommentThreaded.Author是只读的。评论完成后会自动放置。它不能随心所欲地改变......你可以使用一个技巧。不要替换任何东西并简单地使用AddCommentThreaded(CommentText),它将保留前用户的前用户。你使用 Office 365 吗?