删除文档中的所有命令按钮,然后重新添加

时间:2013-07-12 02:12:28

标签: vba word-vba commandbutton

我试图从Word中的所有命令按钮保存一些值,然后删除它们,然后再将它们添加回来。

这是用于打印目的。

我的问题是我如何遍历所有命令按钮以保存它们的顶部,左侧,名称和宽度值,如何删除它们然后如何创建具有其先前名称,宽度和位置的新按钮。

我知道如何创建数组等等,我需要弄清楚的是循环执行命令按钮以及添加新命令按钮的语法。

2 个答案:

答案 0 :(得分:0)

未测试代码,但在任何需要的地方应该进行少量修改

删除命令按钮

For Each o In ActiveDocument.InlineShapes      
   If o.OLEFormat.Object.Name = "CommandButtonName" Then
        'Save all properties of the command button using .Top, .Left, .Width etc
        o.Delete
   End If
Next

添加命令按钮(检查http://support.microsoft.com/kb/246299):

   'Add a command button to a new document
    Dim doc As Word.Document
    Dim shp As Word.InlineShape
    Set doc = Documents.Add

    Set shp = doc.Content.InlineShapes.AddOLEControl(ClassType:="Forms.CommandButton.1")
    shp.OLEFormat.Object.Caption = "Click Here"
    shp.OLEFormat.Object.Left = 100
    shp.OLEFormat.Object.Top = 100
    shp.OLEFormat.Object.Width = 255
    shp.OLEFormat.Object.Visible = True

答案 1 :(得分:0)

我认为将命令按钮的大小调整为0x0提供了一个更优雅的选项,它不需要数组并且速度更快。