从模板复制/粘贴标题
我有一个模板,它有一个包含图片标题的页面。我想将这些图像复制到我的ActiveDocument。我正在使用下面的代码:从模板复制/粘贴标题
Set doc = ActiveDocument strTemplate = "C:\Users\rajtilak\Desktop\Report.dotx"
Set docTemplate = Documents.Open(strTemplate)
Set hdr1 = docTemplate.Sections(1).headers(wdHeaderFooterPrimary)
Set hdr2 = doc.Sections(3).headers(wdHeaderFooterPrimary)
hdr1.Range.Copy
hdr2.Range.PasteAndFormat wdFormatOriginalFormatting
docTemplate.Close False
这工作正常,但它不是从模板的第1部分,但第5部分复制标题。有没有其他方法使用VBA从Word文件中复制标题?
回答:
感谢卡齐米日Jawor,我得到的代码工作。以下是更新后的代码:
Dim docTemplate As Document Dim strTemplate As String
Dim hdr1 As headerfooter
Dim hdr2 As headerfooter
Dim doc As Document
Set doc = ActiveDocument
strTemplate = "C:\Users\rajtilak\Desktop\Report.dotx"
Set docTemplate = Documents.Open(strTemplate)
Set hdr1 = docTemplate.Sections(1).headers(wdHeaderFooterFirstPage)
Set hdr2 = doc.Sections(3).headers(wdHeaderFooterPrimary)
hdr1.Range.Copy
hdr2.Range.Paste
docTemplate.Close False
回答:
有了这样的对象:
Word的
Sections
(index_number)
,或者Excel的
Series
(index_number)
...的index_number
(烦人)不是对象“位置号码”或位置始终代表,但我们可以确认什么像这样子的地方:
Sub ListHeaders() Dim s As Integer, sec As Section, secs As Sections, outStr As String
Dim h As Integer, hdr As HeaderFooter, hdrs As HeadersFooters
Set secs = ActiveDocument.Sections
For s = 1 To secs.Count
outStr = outStr & "-----" & _
"Section #" & s & " of " & secs.Count & _
" : " & Replace(secs(s).Range.Text, vbCr, "") & _
"-----" & vbCrLf
Set hdrs = ActiveDocument.Sections(s).Headers
outStr = outStr & " Header 1: wdHeaderFooterPrimary : " & Replace(hdrs(wdHeaderFooterPrimary).Range.Text, vbCr, "") & vbCrLf
outStr = outStr & " Header 2: wdHeaderFooterFirstPage : " & Replace(hdrs(wdHeaderFooterFirstPage).Range.Text, vbCr, "") & vbCrLf
outStr = outStr & " Header 3: wdHeaderFooterEvenPages : " & Replace(hdrs(wdHeaderFooterEvenPages).Range.Text, vbCr, "") & vbCrLf
outStr = outStr & vbCrLf
Next s
MsgBox outStr
End Sub
...或文本函数可用于查找具有特定文本(或其他属性)的对象的index_number
。
以上是 从模板复制/粘贴标题 的全部内容, 来源链接: utcz.com/qa/261574.html