You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel VBA将旧注释转为Threaded Comments时修改作者报错如何解决

报错原因

  • Excel VBA 中的 CommentThreaded.Author 属于只读属性,仅支持读取当前线程注释的作者信息,不允许创建完成后直接修改,这是你触发报错的核心原因。

解决方案

不需要创建线程注释后再修改作者,直接在调用AddCommentThreaded方法时传入第二个可选的Author参数即可在创建阶段直接指定作者,修改后的代码如下:

Public Sub Convert_Notes_to_Comments()
    
    Dim rng As Range, cell As Range
    Dim CommentText As String, cleanedText As String, commentAuthor As String, 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, commentAuthor)
        End If
    Next cell
End Sub

补充说明

  • 该方法仅适用于支持线程注释的Excel版本(Office 365、Office 2021及以上订阅版本),低版本Excel运行会抛出方法不存在的错误。
  • 如果传入的作者名和当前Office登录账户的名称不匹配,线程注释会显示你传入的自定义作者名,不会强制替换为登录账户信息。

内容的提问来源于stack exchange,提问作者Dumitru Daniel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 21:48:01