[英]MS-Word VBA reference identification
我試圖從第三方調整寬度和高度的大小時,在Microsoft Word中有一個自定義內容控件。 通過VBA進行的常規內容控件選擇無效,因為該控件沒有標題或標簽。 但是,如果我手動選擇對象並使用“ Selection.ShapeRange.Height = x”或ShapeRange.Width以編程方式調整其大小,則它確實可以工作。 因此,要以編程方式完成所有操作,我需要確定“選擇”的名稱,而不必手動選擇它。
有沒有一種方法可以“檢查”對當前所選對象的完整引用,因此我們可以在VBA中獲得一個使用它的起點?
很難知道您要處理的對象類型。 我通過插入空白的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
結果是這樣的:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.