Dirc
Дата: Пятница, 04.03.2016, 10:19 |
Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 35
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Доброго времени суток. Прошу помощи, на мой взгляд, в самой обсуждаемой теме, а именно в присвоении данных из ячеек формы Excel в шаблон файла Word.Задача: Есть шаблон.dot и файл форма Excel. В файле шаблона есть данные: {дата} {фио} {должность}. В форме есть соответствующие поля. По нажатию по кнопке макрос находит в шаблоне.dot данные и вставляет данные из формы, создаёт файл и схоронят его. Нашёл макрос, но он не работает.
Доброго времени суток. Прошу помощи, на мой взгляд, в самой обсуждаемой теме, а именно в присвоении данных из ячеек формы Excel в шаблон файла Word.Задача: Есть шаблон.dot и файл форма Excel. В файле шаблона есть данные: {дата} {фио} {должность}. В форме есть соответствующие поля. По нажатию по кнопке макрос находит в шаблоне.dot данные и вставляет данные из формы, создаёт файл и схоронят его. Нашёл макрос, но он не работает. Dirc
Сообщение отредактировал Dirc - Пятница, 04.03.2016, 10:40
Ответить
Сообщение Доброго времени суток. Прошу помощи, на мой взгляд, в самой обсуждаемой теме, а именно в присвоении данных из ячеек формы Excel в шаблон файла Word.Задача: Есть шаблон.dot и файл форма Excel. В файле шаблона есть данные: {дата} {фио} {должность}. В форме есть соответствующие поля. По нажатию по кнопке макрос находит в шаблоне.dot данные и вставляет данные из формы, создаёт файл и схоронят его. Нашёл макрос, но он не работает. Автор - Dirc Дата добавления - 04.03.2016 в 10:19
Manyasha
Дата: Пятница, 04.03.2016, 11:01 |
Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация:
901
±
Замечаний:
0% ±
Excel 2010, 2016
Dirc , вместо [vba]Код
Dim WD As Word.Document
[/vba]напишите[vba][/vba] не забудьте, что библиотека Microsoft Word должна быть добавлена в references.
Dirc , вместо [vba]Код
Dim WD As Word.Document
[/vba]напишите[vba][/vba] не забудьте, что библиотека Microsoft Word должна быть добавлена в references.Manyasha
ЯД: 410013299366744 WM: R193491431804
Ответить
Сообщение Dirc , вместо [vba]Код
Dim WD As Word.Document
[/vba]напишите[vba][/vba] не забудьте, что библиотека Microsoft Word должна быть добавлена в references.Автор - Manyasha Дата добавления - 04.03.2016 в 11:01
Dirc
Дата: Пятница, 04.03.2016, 11:08 |
Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 35
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
не забудьте, что библиотека Microsoft Word должна быть добавлена в references.
Простите я не знаю как добавить данную библиотеку. Другой метод у меня не работает: [vba]Код
Dim WA As Object, WD As Object: Set WA = CreateObject("Word.Application") ' без подключения библиотеки Word
[/vba]
не забудьте, что библиотека Microsoft Word должна быть добавлена в references.
Простите я не знаю как добавить данную библиотеку. Другой метод у меня не работает: [vba]Код
Dim WA As Object, WD As Object: Set WA = CreateObject("Word.Application") ' без подключения библиотеки Word
[/vba]Dirc
Сообщение отредактировал Dirc - Пятница, 04.03.2016, 11:13
Ответить
Сообщение не забудьте, что библиотека Microsoft Word должна быть добавлена в references.
Простите я не знаю как добавить данную библиотеку. Другой метод у меня не работает: [vba]Код
Dim WA As Object, WD As Object: Set WA = CreateObject("Word.Application") ' без подключения библиотеки Word
[/vba]Автор - Dirc Дата добавления - 04.03.2016 в 11:08
Manyasha
Дата: Пятница, 04.03.2016, 11:27 |
Сообщение № 4
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация:
901
±
Замечаний:
0% ±
Excel 2010, 2016
Без подключения библиотеки можно так: [vba]Код
Const wdStory = 6 Const wdExtend = 1 Private Sub CommandButton1_Click() Dim WA As Object On Error Resume Next Set WA = GetObject(, "Word.Application") If Err <> 0 Then Set WA = CreateObject("Word.Application") Err.Clear: On Error GoTo 0 Dim WD Set WD = WA.Documents.Add(ThisWorkbook.Path & Application.PathSeparator & "шаблон1.dot") With WA.Selection .HomeKey Unit:=wdStory: .EndKey Unit:=wdStory, Extend:=wdExtend .Copy .Paste .EndKey Unit:=wdStory: .HomeKey Unit:=wdStory, Extend:=wdExtend .Find.Execute "{дата}", False, , , , , , , , Range("C3").Value, True .EndKey Unit:=wdStory, Extend:=wdExtend .Find.Execute "{фио}", False, , , , , , , , Range("C5").Value, True .EndKey Unit:=wdStory, Extend:=wdExtend .Find.Execute "{должность}", False, , , , , , , , Range("C6").Value, True .EndKey Unit:=wdStory, Extend:=wdExtend End With WD.SaveAs ThisWorkbook.Path & Application.PathSeparator & "письма.doc" WD.Close False: WA.Quit False Set WA = Nothing: Set WD = Nothing End Sub
[/vba]
Без подключения библиотеки можно так: [vba]Код
Const wdStory = 6 Const wdExtend = 1 Private Sub CommandButton1_Click() Dim WA As Object On Error Resume Next Set WA = GetObject(, "Word.Application") If Err <> 0 Then Set WA = CreateObject("Word.Application") Err.Clear: On Error GoTo 0 Dim WD Set WD = WA.Documents.Add(ThisWorkbook.Path & Application.PathSeparator & "шаблон1.dot") With WA.Selection .HomeKey Unit:=wdStory: .EndKey Unit:=wdStory, Extend:=wdExtend .Copy .Paste .EndKey Unit:=wdStory: .HomeKey Unit:=wdStory, Extend:=wdExtend .Find.Execute "{дата}", False, , , , , , , , Range("C3").Value, True .EndKey Unit:=wdStory, Extend:=wdExtend .Find.Execute "{фио}", False, , , , , , , , Range("C5").Value, True .EndKey Unit:=wdStory, Extend:=wdExtend .Find.Execute "{должность}", False, , , , , , , , Range("C6").Value, True .EndKey Unit:=wdStory, Extend:=wdExtend End With WD.SaveAs ThisWorkbook.Path & Application.PathSeparator & "письма.doc" WD.Close False: WA.Quit False Set WA = Nothing: Set WD = Nothing End Sub
[/vba] Manyasha
ЯД: 410013299366744 WM: R193491431804
Ответить
Сообщение Без подключения библиотеки можно так: [vba]Код
Const wdStory = 6 Const wdExtend = 1 Private Sub CommandButton1_Click() Dim WA As Object On Error Resume Next Set WA = GetObject(, "Word.Application") If Err <> 0 Then Set WA = CreateObject("Word.Application") Err.Clear: On Error GoTo 0 Dim WD Set WD = WA.Documents.Add(ThisWorkbook.Path & Application.PathSeparator & "шаблон1.dot") With WA.Selection .HomeKey Unit:=wdStory: .EndKey Unit:=wdStory, Extend:=wdExtend .Copy .Paste .EndKey Unit:=wdStory: .HomeKey Unit:=wdStory, Extend:=wdExtend .Find.Execute "{дата}", False, , , , , , , , Range("C3").Value, True .EndKey Unit:=wdStory, Extend:=wdExtend .Find.Execute "{фио}", False, , , , , , , , Range("C5").Value, True .EndKey Unit:=wdStory, Extend:=wdExtend .Find.Execute "{должность}", False, , , , , , , , Range("C6").Value, True .EndKey Unit:=wdStory, Extend:=wdExtend End With WD.SaveAs ThisWorkbook.Path & Application.PathSeparator & "письма.doc" WD.Close False: WA.Quit False Set WA = Nothing: Set WD = Nothing End Sub
[/vba] Автор - Manyasha Дата добавления - 04.03.2016 в 11:27
Dirc
Дата: Пятница, 04.03.2016, 11:32 |
Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 35
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Спасибо! Всё работает!
Спасибо! Всё работает! Dirc
Ответить
Сообщение Спасибо! Всё работает! Автор - Dirc Дата добавления - 04.03.2016 в 11:32