0 / 0 / 0
Регистрация: 08.06.2015
Сообщений: 4
1

Массовое создание документов Word

28.09.2015, 11:21. Показов 1034. Ответов 5
Метки нет (Все метки)

необходимо сделать массовое создание документов на основе реестра в Word. функция слияния не подходит, так как переребирая данные в реестре. заполнение шаблона идет в зависимости от условий, например для юр. и физ.лиц берем данные из разных слобцов, причем из 600 строк данные заполняются на основе 100 и эти 100 всегда разные. В общем (упрощенно) есть такой код, первую итерацию проходит без проблем, вторая выходит с ошибкой (не видит объекта закладки). Что делать? Код ниже:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Sub Макрос1()
'
' Макрос1 Макрос
'
Dim do8 As Word.Document
Dim db8 As Bookmarks
PathA = ThisWorkbook.Path
Set do8 = GetObject(PathA & "\Шаблоны\РазрешенияЮЛ.doct")
    Set db8 = do8.Bookmarks
        y = 3
            While ThisWorkbook.Worksheets("Лист1").Cells(y, 13).Value <> ""
                db8("dp2").Range.Text = ThisWorkbook.Worksheets("Лист1").Cells(y, 7).Value
                do8.SaveAs Filename:=PathA & "\Выхлоп\РазрешенияЮЛ" & "_" & ThisWorkbook.Worksheets("Лист1").Cells(y, 4).Value
                y = y + 1
            Wend
do8.Close SaveChanges:=False
Set db8 = Nothing
'
End Sub
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.09.2015, 11:21
Ответы с готовыми решениями:

Создание определенного/заданного количества Документов Word из Excel
Здравствуйте, есть форма на ней Textbox (t1) и Button (b1), в t1 мы вводим количество на-мер 5 и...

Слияние документов Word
Всем привет ... проблема.....вот вчем есть макрос....которий запускается с ексель но ...

Поиск word документов с колонтитулами
help! Нужно организовать поиск word документам , которые содержат колонтитулы. Т.е. прошерстить...

Запуск макроса слияния документов Word
Добрый день! Есть макрос на VBA, который объединяет документы ворд из одной папки, указанной....

5
Модератор
Эксперт MS Access
10304 / 4211 / 684
Регистрация: 07.08.2010
Сообщений: 11,902
Записей в блоге: 4
28.09.2015, 12:11 2
если остальное более или менее поняла, то фразу
причем из 600 строк данные заполняются на основе 100 и эти 100 всегда разные.
--не восприняла даже после нескольких прочтений
-------
хотелось бы увидеть шаблон ворда и пару строк с шапкой из екселя(излишние подробности можно заменить на аааааааааааа ааааааааааааааааа рррррррррррррррррррр), сохраняя значность и тип полей
0
0 / 0 / 0
Регистрация: 08.06.2015
Сообщений: 4
28.09.2015, 14:54  [ТС] 3
В двух словах
1. В начале подпрограммы инициализируем два объекта Word.Document и Bookmarks.
2. В цикле на каждом шаге вставляем в закладки данные из Excel и на каждой итерации сохраняем документ Ворд с новым именем.
3. в конце подпрограммы обнуляем созданные объекты.
Проблема: на второй итерации макрос выдает ошибку инициализации объекта Word. можно на каждом цикле инициализировать Word.Document и потом убивать, но хотелось бы делать это один раз (сократить время обработки)
0
0 / 0 / 0
Регистрация: 08.06.2015
Сообщений: 4
28.09.2015, 15:43  [ТС] 4
С примером во вложении
Вложения
Тип файла: zip пример.zip (401.0 Кб, 5 просмотров)
0
Модератор
Эксперт MS Access
10304 / 4211 / 684
Регистрация: 07.08.2010
Сообщений: 11,902
Записей в блоге: 4
28.09.2015, 16:26 5
попробуйте вариант
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Sub Макрос1m()
'
' Макрос1 Макрос
'
Dim do8 As Word.Document
Dim db8 As Bookmarks
PathA = ThisWorkbook.Path
y = 3
''4-7--13
While ThisWorkbook.Worksheets("Лист1").Cells(y, 13).Value <> ""
 
Set do8 = GetObject(PathA & "\Шаблоны\РазрешенияЮЛ.docx")
Debug.Print ThisWorkbook.Worksheets("Лист1").Cells(y, 4).Value
do8.SaveAs Filename:=PathA & "\Выхлоп\РазрешенияЮЛ" & "_" & ThisWorkbook.Worksheets("Лист1").Cells(y, 4).Value
Set db8 = do8.Bookmarks
 
db8("dp2").Range.Text = ThisWorkbook.Worksheets("Лист1").Cells(y, 7).Value
do8.Close SaveChanges:=True
Set db8 = Nothing
 
y = y + 1
 
Wend
'
End Sub
1
0 / 0 / 0
Регистрация: 08.06.2015
Сообщений: 4
28.09.2015, 16:35  [ТС] 6
Да я уже сам подумал так сделать, но хотелось бы понять почему выскакивала ошибка в моем примере.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.09.2015, 16:35

Связывание таблиц из разных документов WORD
Доброго времени суток. Искал, тщательно, решение своей проблемы, по советам смог написать макрос...

Печать документов word с добавлением счетчика
Всем привет. Я сам работаю веб программистом. Начальник попросил, если получится разобраться и...

Макрос для всех открытых документов ms word
Добрый день. Необходимо написать макрос, который будет устанавливать переплет во всех открытых...

Оптимизация сортировки документов Word по первому слову
Добрый вечер. Столкнулся со следующей задачей: Необходимо отсортировать 60 000 одностраничных...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.