我试图从 Word 中的所有命令按钮中保存一些值,然后删除它们,然后再次添加它们。
这是出于打印目的。
我的问题是如何遍历所有命令按钮以保存它们的顶部、左侧、名称和宽度值,然后如何删除它们,然后如何使用它们以前的名称、宽度和位置创建新按钮。
我知道如何创建数组等等,我只需要弄清楚循环命令按钮和使用旧命令按钮的值添加新命令按钮的语法。
我试图从 Word 中的所有命令按钮中保存一些值,然后删除它们,然后再次添加它们。
这是出于打印目的。
我的问题是如何遍历所有命令按钮以保存它们的顶部、左侧、名称和宽度值,然后如何删除它们,然后如何使用它们以前的名称、宽度和位置创建新按钮。
我知道如何创建数组等等,我只需要弄清楚循环命令按钮和使用旧命令按钮的值添加新命令按钮的语法。
未测试代码,但应在需要时进行少量修改
删除命令按钮
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
我认为将命令按钮的大小调整为 0x0 提供了一个更优雅的选项,它不需要数组并且速度更快。