Макросы ворд персонализация

  • Автор темы Автор темы cyoshi
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

cyoshi

Участник
Топикстартер
Сообщения
9
Реакции
0
Я делаю коммерческие предложения для сотрудников организации. (изначально делаю в MS PowerPoint) потом пересохраняю в PDF в конце каждого коммерческого есть телефон сотрудника. (у нас их 8)
получается что когда я сделаю 1 КП приходится пересохранять его 8 раз. потом вдруг нашлась опечатка или произошло изменение цен приходится все начинать сначала.
так никакого времени не хватит.
вот и возникла у меня идея:
Написать такой макрос чтобы ввести список номеров телефонов
и макрос брал эти номера менял их в определенном месте документа и сохранял в папкуспод именем этого номера
сам программировал совсем давно поэтому нужна ваша помощь!

грубо говоря получается такой макрос:
Sub Макрос()
'
'
Selection.TypeText Text:="8-928-361-58-34"
ActiveDocument.ExportAsFixedFormat OutputFileName:= _
"C:\Users\Eugeny\Documents\8.pdf", ExportFormat:=wdExportFormatPDF, _
OpenAfterExport:=False, OptimizeFor:=wdExportOptimizeForPrint, Range:= _
wdExportAllDocument, From:=1, To:=1, Item:=wdExportDocumentContent, _
IncludeDocProps:=True, KeepIRM:=True, CreateBookmarks:= _
wdExportCreateNoBookmarks, DocStructureTags:=True, BitmapMissingFonts:= _
True, UseISO19005_1:=False
Selection.TypeBackspace
Selection.TypeBackspace
Selection.TypeText Text:="928-341-95-75"
ActiveDocument.ExportAsFixedFormat OutputFileName:= _
"C:\Users\Eugeny\Documents\9.pdf", ExportFormat:=wdExportFormatPDF, _
OpenAfterExport:=False, OptimizeFor:=wdExportOptimizeForPrint, Range:= _
wdExportAllDocument, From:=1, To:=1, Item:=wdExportDocumentContent, _
IncludeDocProps:=True, KeepIRM:=True, CreateBookmarks:= _
wdExportCreateNoBookmarks, DocStructureTags:=True, BitmapMissingFonts:= _
True, UseISO19005_1:=False
End Sub

Как мне забить список переменных с номерами телефонов? (например есть какой файл куда я могу все это записать, или в начале кода макроса прописать вручную)
как обозначить то место в котором должен меняться телефон? (может я могу какой то флаг на то место установить)
Можно ли в пусть сохранения вставить переменную с номером телефона чтобы каждый раз файл сохранялся под новым именем

понимаю что вопросы совсем от чайника. честно совсем забыл уже операторы...
Буду очень признателен такой помощи!
 
InDesign или CorelDraw нет?
 
А что, ворд не умеет делать персонализацию? Наверняка умеет. Openoffice же умеет.

(Описание задачи, кстати, отвратительное. Мало что понятно, так ещё и запятых нет)
 
Да задача понятна, да и решается легко... непонятно нужен ворд или поинт.
А так для начала делается
dim tel(10) as string
tel(1)="8-9000-"
tel(10)="8-9010-"
---
for i=1 to 10
tel(i) и погнали.

места размещения телефонов можно обозначить разными способами. Если уж раньше программировали, то гугл в помощь.
 
  • Спасибо
Реакции: cyoshi
Да задача понятна
А мне непонятна. Непонятно зачем макрос. В чём сложность сохранить 8 файлов, почему паверпоинт, а в заголовке ворд, зачем в имени файла нужен телефон, почему pdf. Кучи вопросов.

В Openoffice, если я сделаю персонализацию, то ОО предложит сохранить её отдельными документами. Имя_файла_01 (02, 03). Наверняка M$-office делает подобное.
Я бы не заморачивался со скриптом.
 
Кстати, в OO можно сохранить отдельными pdf-ками. Только что глянул.
 
А что, ворд не умеет делать персонализацию? Наверняка умеет. Openoffice же умеет.

(Описание задачи, кстати, отвратительное. Мало что понятно, так ещё и запятых нет)

Если Вам непонятен вопрос или не хотите подсказывать, лучше обойдите пост и не засоряйте его своими комментариями. (надеюсь, сейчас запятых вам хватит)
 
Воспринимайте критику спокойней. У нас тут монополия русского языка, читайте правила.
 
cyoshi
Ага, на запятые обиделись, а полезный совет не заметили. Ну что ж, пишите макрос, но обязательно засеките время, чтоб видна была экономия.
К слову, персонализацию в ОО можно освоить за 10 минут максимум. В M$-office, думаю, примерно столько же.
 
Статус
Закрыто для дальнейших ответов.