如何在Word 2013中使用VBA为所选文本添加注释?

时间:2016-06-18 14:14:24

标签: vba ms-word

我创建了简单的模板(Open word file--> Alt + F11 --> Save file as .dtom),以便为所选文字添加评论。我将文件保存为.dotm并将其放在启动文件夹C:\Users\abc\AppData\Roaming\Microsoft\Word\STARTUP但是我收到了Word 2013的宏设置错误。我按照他们的建议进行了操作但仍然无法正常工作。

我附上了我的代码。任何人都可以建议我是否遗漏了代码方面的任何内容?

代码:

Sub autoexe()
    Dim MainMenu As CommandBarControl
    Dim MenuItem As CommandBarPopup
    'add pop button
    MenuItem = MainMenu.Controls.Add(msoControlPopup, , , , True)
    With MenuItem
        .Caption = "Item1"
        .Visible = True
        'add simple button
        Dim simpleButton As CommandBarButton
        Dim commentText As String
        commentText = "Comment inserted successfully"
        simpleButton = MenuItem.Controls.Add(msoControlButton, , , , True)
        With simpleButton
            .Caption = "Show Message"
            .Visible = True
            .OnAction = "addComments(commentText)"
        End With
    End With
End Sub 


Sub addComments(ByVal cmtText As String)
    ActiveWindow.View.Type = wdPageView
    Selection.Comments.Add Range:=Selection.Range
    If (Len(Selection) > 0) Then
        MsgBox ("inside comment")
        With Selection
            .TypeText (cmtText)
        End With
    End If
End Sub

enter image description here

3 个答案:

答案 0 :(得分:1)

如果您想以现在的方式使用它,可以继续使用多个全局变量

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="site-wrap">
  <nav>
    <ul>
      <li><a href="#">Link</a>
      </li>
      <li><a href="#">Link</a>
      </li>
      <li><a href="#">Link</a>
      </li>
      <li><a href="#">Link</a>
      </li>
    </ul>
  </nav>
  <div class="push-wrap">
    <article>
      <a href="#" class="toggle-nav"></a>
      <div class="container">
        <div class="row">
          <div class="col-md-12">
            <h1>Off Screen Navigation</h1>
            <p>blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
              !
            </p>
          </div>
        </div>
      </div>
    </article>
  </div>
</div>

答案 1 :(得分:0)

你试过了吗?

  
      
  1. 单击“文件”选项卡,单击“选项”,单击“信任中心”,然后单击“信任中心设置”。

  2.   
  3. 单击“宏设置”。

  4.   
  5. 在“宏设置”下,单击“启用所有宏”。

  6.   

您可以将C:\Users\abc\AppData\Roaming\Microsoft\Word\STARTUP添加到受信任位置吗?

答案 2 :(得分:0)

它解决了。我只是改变按钮点击时传递函数参数的方式。我不知道为什么它没有产生错误,但仅通过一次更改就完成了。

这是工作代码:(我仍然不知道如何传递多个参数)

Dim commentText As String
        commentText = "Comment inserted successfully"
        simpleButton = MenuItem.Controls.Add(msoControlButton, , , , True)
        With simpleButton
            .Caption = "Show Message"
            .Visible = True
            .OnAction = "addComments()"
            .Parameter = commentText 
        End With

Sub addComments()
    Dim commentText As String
    commentText = Application.CommandBars.ActionControl.Parameter
    ActiveWindow.View.Type = wdPageView
    Selection.Comments.Add Range:=Selection.Range
    If (Len(Selection) > 0) Then
        MsgBox ("inside comment")
        With Selection
            .TypeText (commentText)
        End With
    End If
End Sub