Домашняя страница Undo Do Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Перенос данных из формы Exce в Word - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, китин  
Перенос данных из формы Exce в Word
Dirc Дата: Пятница, 04.03.2016, 10:19 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 35
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Доброго времени суток.
Прошу помощи, на мой взгляд, в самой обсуждаемой теме, а именно в присвоении данных из ячеек формы Excel в шаблон файла Word.
Задача:
Есть шаблон.dot и файл форма Excel. В файле шаблона есть данные: {дата} {фио} {должность}.
В форме есть соответствующие поля.

По нажатию по кнопке макрос находит в шаблоне.dot данные и вставляет данные из формы, создаёт файл и схоронят его.
Нашёл макрос, но он не работает.
К сообщению приложен файл: 2726826.xls (32.5 Kb) · 4504344.dot (21.5 Kb)


Сообщение отредактировал 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]
Код
Dim WD As Document
[/vba]
не забудьте, что библиотека Microsoft Word должна быть добавлена в references.


ЯД: 410013299366744 WM: R193491431804
 
Ответить
СообщениеDirc, вместо [vba]
Код
Dim WD As Word.Document
[/vba]напишите[vba]
Код
Dim WD As Document
[/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]


Сообщение отредактировал 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]
К сообщению приложен файл: 2726826-1.xls (36.5 Kb)


ЯД: 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
Дата добавления - 04.03.2016 в 11:32
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!