MS-Word VBA参考标识

时间:2014-03-12 15:20:20

标签: vba ms-word

我在Microsoft Word中有来自第三方的自定义内容控件,我正在尝试调整其宽度和高度。通过VBA进行的正常内容控制选择无效,因为此控件没有标题或标记。但是,如果我手动选择对象并使用“Selection.ShapeRange.Height = x”或ShapeRange.Width以编程方式调整它,它确实有效。因此,要以编程方式完成所有操作,我需要确定“选择”的名称,而无需手动选择它。

有没有办法在单词中“检查”对当前所选对象的完整引用,那么我们可以在VBA中找到一个起点来处理它?<​​/ p>

1 个答案:

答案 0 :(得分:1)

很难知道你处理的对象是什么类型的。我通过插入一个空白的ActiveX图像控件,选择它然后运行宏来测试它。代码有两种方法,但有一种已被注释掉。

Sub FindName()
    MsgBox (Selection.Fields.Item(1).OLEFormat.ClassType)

    'MsgBox (Selection.InlineShapes.Item(1).OLEFormat.ClassType)

    MsgBox (Selection.InlineShapes.Item(1).Field.Index)
    MsgBox (Selection.InlineShapes.Item(1).AlternativeText)

    'Show current name
    MsgBox (Selection.Fields.Item(1).OLEFormat.Object.Name)

    'Set new name
    Selection.Fields.Item(1).OLEFormat.Object.Name = "Image5"

    'Re-display name to show that it changed
    MsgBox (Selection.Fields.Item(1).OLEFormat.Object.Name)
End Sub

结果如下:

enter image description here enter image description here