Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
7 / 7 / 2
Регистрация: 25.10.2017
Сообщений: 90
1

Выгрузка в ворд

15.05.2018, 16:04. Показов 1370. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день Уважаемые форумчане, прошу помочь советом.
Ситуация следующая: Необходимо выгрузить данные из БД в Word, но выгрузить их в новый документ, заостряю на этом внимание, т.к. через Bookmarks по "скелету" существующего файла я понял как это работает, но хотелось бы понять как сделать это именно с новым документом (созданным в процедуре vb).
При этом необходимо сделать так, чтобы каждая новая запись начиналась с новой строки.

Выглядит у меня это следующим образом (пример с Bookmarks):
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
26
27
28
29
30
31
Private Sub Кнопка198_Click()
Dim wapp As Word.Application
Dim wdoc As Word.Document
Dim rs As DAO.Recordset
Dim strSQL As String
Dim Сила, Восп As String
 
Сила = Me.Сил.Value
Восп = Me.Вос.Value
 
'берем инфу из запроса
strSQL = "SELECT * from tblPerk where (Сила <= " & Сила & ") And (Воспр <= " & Восп & ")"
 
Set wapp = New Word.Application
Set wdoc = wapp.Documents.Open("C:\Users\WeAre\Desktop\Perk.docx")
Set rs = CurrentDb.OpenRecordset(strSQL)
 
If Not rs.EOF Then rs.MoveFirst
Do Until rs.EOF
wdoc.Bookmarks("perk").Range.Text = ("player.removeperk" + " " + rs!IDPerk)
wdoc.Bookmarks("perk").Range.InsertParagraphAfter
rs.MoveNext
Loop
wdoc.SaveAs2 "C:\Users\" & Environ("username") & "\Desktop\perk1.doc"
wdoc.Close False
wapp.Quit
 
Set wdoc = Nothing
Set wapp = Nothing
Set rs = Nothing
End Sub
Не могу понять как сделать чтобы можно было через:
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
26
27
28
29
30
31
Private Sub Кнопка198_Click()
Dim wapp As Word.Application
Dim wdoc As Word.Document
Dim rs As DAO.Recordset
Dim strSQL As String
Dim Сила, Восп As String
 
Сила = Me.Сил.Value
Восп = Me.Вос.Value
 
'берем инфу из запроса
strSQL = "SELECT * from tblPerk where (Сила <= " & Сила & ") And (Воспр <= " & Восп & ")"
 
Set wapp = New Word.Application
Set wdoc = wapp.Documents.Add
Set rs = db.OpenRecordset(strSQL, dbOpenSnapshot)
 
If Not rs.EOF Then rs.MoveFirst
Do Until rs.EOF
'какой-то код, который будет работать
 
rs.MoveNext
Loop
wdoc.SaveAs2 "C:\Users\" & Environ("username") & "\Desktop\perk1.doc"
wdoc.Close False
wapp.Quit
 
Set wdoc = Nothing
Set wapp = Nothing
Set rs = Nothing
End Sub
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.05.2018, 16:04
Ответы с готовыми решениями:

Выгрузка В Ворд
Ребят, проблема такая: - по шаблону(заложенному в справочнике) создается документ, куда...

Выгрузка в Ворд
с темкой ознакомился, но немного непонятно. Там есть шаблон, который как я понимаю необходимо...

Выгрузка в ворд из подчиненной формы
Использую такой код для выгрузки в WORD из формы MS Access: Option Compare Database Private Sub...

Выгрузка запроса sql в шаблон ворд
Добрый вечер. Уважаемые участники просьба подсказать, как можно выгрузить результат запроса в...

7
15145 / 6418 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
15.05.2018, 17:32 2
Лучший ответ Сообщение было отмечено kpevetko как решение

Решение

kpevetko, например
Visual Basic
1
2
'какой-то код, который будет работать
wdoc.Range.InsertAfter rs!IDPerk & vbCr
1
7 / 7 / 2
Регистрация: 25.10.2017
Сообщений: 90
15.05.2018, 17:54  [ТС] 3
Цитата Сообщение от Казанский Посмотреть сообщение
kpevetko, например
Visual Basic
1
2
'какой-то код, который будет работать
wdoc.Range.InsertAfter rs!IDPerk & vbCr
Мда, оказывается ответ был на поверхности. Спасибо за ответ.
Еще вопрос вдогонку, вдруг подскажите:
Если, находясь в таблице Word нажимать "Tab" создается новая строка- продолжение таблицы. А вот к примеру как можно это реализовать через VB? Т.е. в таблице есть Закладка, в нее передается текст, после заполнения строки данными, идет переход на следующую строку и таблица продолжается?
Опять же через "wdoc.Range.InsertParagraphAfter" получается что я не создаю новую строку таблицы как бы это сделал переход через "Tab", а создаю строку внутри строки таблица.
0
15145 / 6418 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
15.05.2018, 18:07 4
Цитата Сообщение от kpevetko Посмотреть сообщение
Если, находясь в таблице Word нажимать "Tab" создается новая строка- продолжение таблицы. А вот к примеру как можно это реализовать через VB?
Макрорекордер Ворда дает ответ на этот вопрос: Selection.MoveRight Unit:=wdCell. В случае внешнего управления надо указать принадлежность Selection:
Visual Basic
1
2
wapp.Selection.MoveRight Unit:=wdCell 'перейти в след. ячейку, при необходимости добавить строку
wapp.Selection.InsertAfter rs!IDPerk 'вписать текст в ячейку
1
7 / 7 / 2
Регистрация: 25.10.2017
Сообщений: 90
15.05.2018, 19:34  [ТС] 5
Цитата Сообщение от Казанский Посмотреть сообщение
Макрорекордер Ворда дает ответ на этот вопрос: Selection.MoveRight Unit:=wdCell. В случае внешнего управления надо указать принадлежность Selection:
Visual Basic
1
2
wapp.Selection.MoveRight Unit:=wdCell 'перейти в след. ячейку, при необходимости добавить строку
wapp.Selection.InsertAfter rs!IDPerk 'вписать текст в ячейку
Да, это если с начала нового документа начинать. А в случае если необходимо с "Закладки"?
0
15145 / 6418 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
16.05.2018, 10:32 6
Цитата Сообщение от kpevetko Посмотреть сообщение
Ситуация следующая: Необходимо выгрузить данные из БД в Word, но выгрузить их в новый документ, заостряю на этом внимание, т.к. через Bookmarks по "скелету" существующего файла я понял как это работает, но хотелось бы понять как сделать это именно с новым документом
Я так понимаю, речь идет о создании нового документа из шаблона, в котором есть таблица и закладка в ней?
Visual Basic
1
2
3
4
5
6
7
8
9
  Set wdoc = wapp.documents.Add("C:\Users\WeAre\Desktop\Perk.docx") 'создание из шаблона
  wapp.Selection.GoTo What:=wdGoToBookmark, Name:="perk"            'переход к закладке
  
  If Not rs.EOF Then rs.MoveFirst
  Do 'Until rs.EOF
    wapp.Selection.Range.Text = "player.removeperk " & rs!IDPerk
    rs.MoveNext
    If Not rs.EOF Then wapp.Selection.MoveRight Unit:=wdCell Else Exit Do
  Loop
Если не подойдет, приложите документ/шаблон и объясните внятно задачу.
0
7 / 7 / 2
Регистрация: 25.10.2017
Сообщений: 90
16.05.2018, 14:52  [ТС] 7
Цитата Сообщение от Казанский Посмотреть сообщение
Я так понимаю, речь идет о создании нового документа из шаблона, в котором есть таблица и закладка в ней?
Visual Basic
1
2
3
4
5
6
7
8
9
  Set wdoc = wapp.documents.Add("C:\Users\WeAre\Desktop\Perk.docx") 'создание из шаблона
  wapp.Selection.GoTo What:=wdGoToBookmark, Name:="perk"            'переход к закладке
  
  If Not rs.EOF Then rs.MoveFirst
  Do 'Until rs.EOF
    wapp.Selection.Range.Text = "player.removeperk " & rs!IDPerk
    rs.MoveNext
    If Not rs.EOF Then wapp.Selection.MoveRight Unit:=wdCell Else Exit Do
  Loop
Если не подойдет, приложите документ/шаблон и объясните внятно задачу.
Спасибо большое за помощь. Но я понял что вставка в шаблон в котором присутствует таблица не подойдет для моих задач, т.к. таблица должна быть не всегда.
По-хорошему есть Служебный документ в котором необходимо вставлять данные в таблицу, однако данная таблица не всегда будет присутствовать (в зависимости от случая), в связи с этим мне кажется что лучше будет "рисовать" таблицу программно по мере надобности.
Приложил пример шаблона.
Вложения
Тип файла: rar ПримерШаблона.rar (10.8 Кб, 3 просмотров)
0
11508 / 3794 / 681
Регистрация: 13.02.2009
Сообщений: 11,197
16.05.2018, 18:30 8
создать документ с таблицей и колонтитулами
выбери нужное
Вложения
Тип файла: zip PrintDoc.zip (5.7 Кб, 11 просмотров)
0
16.05.2018, 18:30
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.05.2018, 18:30
Помогаю со студенческими работами здесь

Выгрузка из аксес в ворд в закладки нескольких документов
Вопрос вот в чём. Составление договоров. У меня их штук 6 - разные. Нужна автоматизация...

специалистам ворд
ребят помогите плиз, у меня есть документ ворд в него вставлен цветной рисунок а мне нужно его...

Рисунки в ворд
Всем здравствуйте! Помогите решить проблему: при вставке рисунка в ворд (режим обтекание &quot;в...

Вывод в Ворд
У меня вопрос. Как сделать так чтобы данные из Edit выводились в Word файл в определённые места?


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru