簡體   English   中英

VBA Word將現有形狀添加到主標題

[英]VBA Word add an existing shape to a primary header

我試圖先構建一個簡單的矩形形狀,然后將構建的形狀添加到Word中的第一部分標題(主要)。 但是似乎沒有用於執行此操作的API。 相反,似乎我必須在標題內部重新創建一個新形狀。

用於在標題內創建形狀的常規代碼(“添加”和“創建”操作組合到一個API“ AddShape”中):

Set hf = doc.Sections(1).Footers(wdHeaderFooterPrimary)
Set shp = hf.shapes.AddShape(msoShapeRectangle, 0, 0, 50, 50)

我寧願做這樣的事情(偽代碼):

Set hf = doc.Sections(1).Footers(wdHeaderFooterPrimary)
Set shp = MyFunctionForBuildingAShapeThatIAlreadyUseElseWhere
hf.Shapes.Add(shp)

這種操作可行嗎? 我試圖不重復用於構建形狀的代碼,因為我使用該代碼來構建在標題外部使用的形狀。 謝謝。

由於形狀相同,因此只需指向原始錨點,然后使用.FormattedText方法將其復制到標頭中。 例如:

Dim doc As Document, Rng As Range
Set doc = ActiveDocument
With doc
  Set Rng = .Sections(1).Headers(wdHeaderFooterPrimary).Range
  Rng.Collapse wdCollapseStart
  Rng.FormattedText = .Shapes(1).Anchor.FormattedText
End With

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM