Я пишу макрос VBA для Excel, который копирует текст в файл Word для Windows и добавляет к нему форматирование позже.
В нем используется шаблон .dotx, содержащий логотип.В левом нижнем углу текстовое поле с серийным номером.Текст серийного номера написан вертикально (снизу вверх).
Используя метод проб и ошибок, мне удалось записать один серийный номер в текстовое поле, используя:
serialnumber = "abc1x"
wdoc.Sections(1).Headers(wdHeaderFooterEvenPages).Shapes(2).TextFrame.TextRange.text
= serialnumber
ТакЯ нашел правильный объект для записи.Теперь я получаю один и тот же серийный номер на каждой странице.
Моя цель - получить увеличивающийся серийный номер на страницах: серийный номер имеет форму:
- На странице 1: abc1x
- на странице 2: abc2x
- на странице 3: abc3x
- ...
- на странице 10: abc10x
Это номер страницы, окруженный 2 строками.
В другом проекте я сделал нечто подобное.Я написал «Страница 1 из 10» и т. Д. С помощью следующего сценария:
Dim uRange As Object
Dim uneven As Object
Set uneven = wdoc.Sections(1).Footers(wdHeaderFooterPrimary)
Set uRange = wdoc.Sections(1).Footers(wdHeaderFooterPrimary).Range
uRange.Delete
uneven.Range.InsertAfter "Page "
uRange.SetRange Start:=uneven.Range.End + 1, End:=uneven.Range.End + 1
wdoc.Sections(1).Footers(wdHeaderFooterPrimary).Range.Fields.Add
Range:=uRange, Type:=wdFieldEmpty, text:= _
"PAGE \* Arabic ", PreserveFormatting:=True
uRange.SetRange Start:=uneven.Range.End + 1, End:=uneven.Range.End + 1
uneven.Range.InsertAfter " of "
uRange.SetRange Start:=uneven.Range.End + 1, End:=uneven.Range.End + 1
wdoc.Sections(1).Footers(wdHeaderFooterPrimary).Range.Fields.Add
Range:=uRange, Type:=wdFieldEmpty, text:= _
"NUMPAGES \* Arabic ", PreserveFormatting:=True
Как вставить текст вокруг поля страницы в TextBox?
(Примечание: что такоеразница между объектом range и rangetext?)
Замечания: мне придется применять решение к четным и неровным страницам отдельно.Это не представляет проблемы.Чтобы усложнить ситуацию: я обязан сохранить текстовое поле, потому что оно принадлежит специалистам по фирменному стилю.