#vba #ms-word #header #ms-office #bookmarks
Вопрос:
У меня есть функция, которая копирует указанную таблицу в новый документ, но я не могу понять, как экспортировать заголовок, представляющий собой изображение, и установить его в качестве заголовка для страниц документа.
Таблица выбирается на основе фактического значения выпадающего списка (ProjectsList.Value), которое ссылается на закладку, и содержащаяся в ней таблица успешно копируется и вставляется в новый документ
Для каждой вставленной страницы я тоже хочу скопировать заголовок.
моя функция, в которую я бы интегрировал часть заголовка:
Sub CopyPaste()
Dim Source As Document
Dim Target As Document
Dim tbl As Table
Dim tr As Range
Dim hRange As Word.Range
Set Source = ActiveDocument
Set Target = Documents.Add
Target.SaveAs FileName:=ProjectsList.Value
For Each tbl In Source.Bookmarks(ProjectsList.Value).Range.Tables
Set tr = Target.Range
tr.Collapse wdCollapseEnd
tr.FormattedText = tbl.Range.FormattedText
tr.Collapse wdCollapseEnd
tr.Text = vbCrLf
Next
End Sub
Ответ №1:
Например:
Sub Replicate()
Application.ScreenUpdating = False
Dim Source As Document, Target As Document
Dim Tbl As Table, HdFt As HeaderFooter, Rng As Range
Set Source = ActiveDocument: Set Target = Documents.Add
With Target
For Each Tbl In Source.Bookmarks(ProjectsList.Value).Range.Tables
Set Rng = .Range.Characters.Last
Rng.FormattedText = Tbl.Range.FormattedText
Rng.InsertAfter vbCr
Next
For Each HdFt In Source.Sections.First.Headers
With HdFt
Set Rng = Target.Sections.First.Headers(.Index).Range
Rng.FormattedText = .Range.FormattedText
Rng.Characters.Last.Delete
End With
Next
.SaveAs FileName:=ProjectsList.Value
End With
Application.ScreenUpdating = True
End Sub