Приветствую! Собираю код в кучу, в просторах инета нашел похожий (стартовый) код, не могу исправить под свою задачу.
В идеале, что будет, куда иду. Открываю таблицу, первая колонка пустая, остальные колонки заполнены уникальными данными клиента, для договоров (для 5 разных договором / шаблонов)
Выбираю строку руками, знаю, что тут нужен договор №777, добавил руками значение в колонку А = «777», Жмакаю на скрипт Скрипт заполнил данными по шаблону именно для дока №777, сохранил / закрыл. Это в идеале.
Вернемся к первому шагу в примере с инета перебираются ВСЕ данные первой колонки (№ пп, номер), скрипт работает если заполнена первая ячейка строки не работает, если не заполнена ячейка [vba]
Код
Sub main() Dim wdApp As Object Dim wdDoc As Object
HomeDir$ = ThisWorkbook.Path Set wdApp = CreateObject("Word.Application") i% = 2 Do If Cells(i%, 1).Value = "" Then Exit Do If Cells(i%, 1).Value <> "" Then
исправить код, в котором скрипт: - перебрал и выбрал строку экселя, ЕСЛИ в первой ячейке (A2-A3000) значение равно «777»
дальше второй этап уже сам, буду вставлять +4 документа и условия шаблонов Word
Огромнейшее спасибо, заранее!
Приветствую! Собираю код в кучу, в просторах инета нашел похожий (стартовый) код, не могу исправить под свою задачу.
В идеале, что будет, куда иду. Открываю таблицу, первая колонка пустая, остальные колонки заполнены уникальными данными клиента, для договоров (для 5 разных договором / шаблонов)
Выбираю строку руками, знаю, что тут нужен договор №777, добавил руками значение в колонку А = «777», Жмакаю на скрипт Скрипт заполнил данными по шаблону именно для дока №777, сохранил / закрыл. Это в идеале.
Вернемся к первому шагу в примере с инета перебираются ВСЕ данные первой колонки (№ пп, номер), скрипт работает если заполнена первая ячейка строки не работает, если не заполнена ячейка [vba]
Код
Sub main() Dim wdApp As Object Dim wdDoc As Object
HomeDir$ = ThisWorkbook.Path Set wdApp = CreateObject("Word.Application") i% = 2 Do If Cells(i%, 1).Value = "" Then Exit Do If Cells(i%, 1).Value <> "" Then
При условии, если в колонке А значение 777, формируется документ (ы*). * если несколько строк имеют значение 777 - формируется несколько доков, по набору данных и шаблону *.doc. Ровно что хотел! Вы лучший)
если не совсем обнаглел, +1 вопрос)?
Сейчас /* Условие для 1-го шаблона, имя шаблона 777: [vba]
Код
If Cells(i%, 2).Value = "" Then Exit Do If Cells(i%, 1).Value = 777 Then
Новое условие, /* ЕСЛИ несколько шаблонов (777,888,999)
Коротко суть ставим в колонку А «777» - создается по шаблону данных #777, сохраняется в новый файл *.doc (сейчас уже есть) ставим в колонку А «888»- создается с данными по шаблону #888 (свой набор данных, крутим шаблон888.doc) и т.д. второй вариант даст понимание, как умножить условия на все 5, достаточно показать +1 вариант (777 + 888)
Разверну вопрос Как перебирать значения, выбирать вариант шаблона в скобках далее суть, передаю как могу объяснить) (If Cells(i%, 1).Value = 777 Then || If Cells(i%, 1).Value = 888 Then || If Cells(i%, 1).Value = 999 Then || ...)
И отдавать на создание финального документа свой набор данных, для каждого шаблона, в зависимости от значения в колонке А
наброски карандашом: if 777 ID$ = Cells(i%, 2).Text Adress$ = Cells(i%, 3).Text SN$ = Cells(i%, 4).Text сохраняем, закрываем End If
if 888 ID$ = Cells(i%, 2444).Text Adress$ = Cells(i%, 3444).Text SN$ = Cells(i%, 4444).Text сохраняем, закрываем End If
тут просится Else, но я не художник)
Спасибище)!
Pelena, БлагоДарю! Работает.
При условии, если в колонке А значение 777, формируется документ (ы*). * если несколько строк имеют значение 777 - формируется несколько доков, по набору данных и шаблону *.doc. Ровно что хотел! Вы лучший)
если не совсем обнаглел, +1 вопрос)?
Сейчас /* Условие для 1-го шаблона, имя шаблона 777: [vba]
Код
If Cells(i%, 2).Value = "" Then Exit Do If Cells(i%, 1).Value = 777 Then
Новое условие, /* ЕСЛИ несколько шаблонов (777,888,999)
Коротко суть ставим в колонку А «777» - создается по шаблону данных #777, сохраняется в новый файл *.doc (сейчас уже есть) ставим в колонку А «888»- создается с данными по шаблону #888 (свой набор данных, крутим шаблон888.doc) и т.д. второй вариант даст понимание, как умножить условия на все 5, достаточно показать +1 вариант (777 + 888)
Разверну вопрос Как перебирать значения, выбирать вариант шаблона в скобках далее суть, передаю как могу объяснить) (If Cells(i%, 1).Value = 777 Then || If Cells(i%, 1).Value = 888 Then || If Cells(i%, 1).Value = 999 Then || ...)
И отдавать на создание финального документа свой набор данных, для каждого шаблона, в зависимости от значения в колонке А
наброски карандашом: if 777 ID$ = Cells(i%, 2).Text Adress$ = Cells(i%, 3).Text SN$ = Cells(i%, 4).Text сохраняем, закрываем End If
if 888 ID$ = Cells(i%, 2444).Text Adress$ = Cells(i%, 3444).Text SN$ = Cells(i%, 4444).Text сохраняем, закрываем End If