powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Экспорт в Вордятину
7 сообщений из 7, страница 1 из 1
Экспорт в Вордятину
    #32175373
BJ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите, плз, как в VB данные из формы экспортнуть в документ Word, в ктотором есть шаблон (шапка, таблица, ячейки которой и нужно заполнить, ну и т.д.)??? Если не трудно, то лучше б примерчик.
...
Рейтинг: 0 / 0
Экспорт в Вордятину
    #32175491
BJ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
неужто никто не делал?
...
Рейтинг: 0 / 0
Экспорт в Вордятину
    #32175587
Smile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OLE Automation
...
Рейтинг: 0 / 0
Экспорт в Вордятину
    #32175637
Фотография РАДАНЯ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sub wdFile ()
Dim fName as String ' имя файла, в который вы будете
' выводить отчет
Dim WordDoc As Object ' объектная переменная, которая будет
' ссылаться на документ Word
Dim strA as string,x as Integer,y as Integer,i as Integer
Dim dbs as Database, rsTable as Recordset, Q as string,k as integer
' предполагается, что файл будет помещен в той же папке,
' что и ваше приложение, но это не обязательно:
fName = App.Path & "имя_файла" & ".doc"
' после чего желательно проверить, нет ли по этому
' пути файла с таким именем, и если есть, обработать эту
' ситуацию должным образом во избежание ошибки
set dbs=OpenDatabase("путь к базе данных")
' таблица, по которой будет создан отчет:
q="Select * From " & "имя таблицы"
Set rsTable=dbs.OpenRecordset(q,dbOpenSnapshot)
Set WordDoc = CreateObject("Word.Document")
WordDoc.Application.Visible = True
WordDoc.Application.WindowState = 1 ' окно Word в полный экран.

strA="Текст_заголовка_документа"
WordDoc.Application.Selection.TypeText Text:=strA
WordDoc.Application.Selection.TypeParagraph ' переход на новую
' строку
y=rsTable.Fields.Count
x=1
' вставка таблицы в документ:
WordDoc.Application.ActiveDocument.Tables.Add Range:= _
WordDoc.Application.Selection.Range, NumRows:=x,
NumColumns:=y
' здесь x - это количество строк вставляемой таблицы
' y - количество столбцов, обычно равное количеству
' полей вашей таблицы.
' если шапка таблицы содержит одну строку, то x=1

' имена полей таблицы переносятся в качестве заголовков столбцов
For i = 0 To rsTable.Fields.Count - 1
WordDoc.Application.Selection.Tables(1).Cell(2,i+1).Select
strA = rsTable.Fields(i).Name
WordDoc.Application.Selection.TypeText Text:=strA
Next i

' добавление к таблице необходимого количества строк
' и заполнение их значениями из исходного запроса:
rsTable.MoveFirst
k = 0
Do
k = k + 1
WordDoc.Application.Selection.MoveDown Unit:=5, _
Count:=1
WordDoc.Application.Selection.InsertRows 1
WordDoc.Application.Selection.Moveleft Unit:=1, _
Count:=1
For i = 0 To rsTable.Fields.Count - 1
WordDoc.Application.Selection.Tables(1).
Cell(k, i + 1).Select

strA = rsTable.Fields(i)
WordDoc.Application.Selection.TypeText _
Text:=strA
Next i
rsTable.MoveNext
Loop Until rsTable.EOF

End Sub
...
Рейтинг: 0 / 0
Экспорт в Вордятину
    #32177394
belimovGV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
пример РАДАНИ хорош, но не шаблон.
для работы с шаблоном необходимо:
-в документе вставить поля со своими именами("ndoc")
-Set oWord = CreateObject("word.application")
Set docWord = oWord.Documents.Open(lcpath + "документ.doc")
With docWord.variables
.Add "ndoc", "_________"
End With
docWord.variables("ndoc").Value ="беда...."
For i = 1 To oWord.activedocument.Fields.Count
oWord.activedocument.Fields(i).Update
Next
-все
само приятно, что пользователь сам меняет шаблон
...
Рейтинг: 0 / 0
Экспорт в Вордятину
    #32181066
BJ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ок. Спасибо
...
Рейтинг: 0 / 0
Экспорт в Вордятину
    #32345530
Sungel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А если у меня на форме одно из полей - объект ОЛЕ, который хранится в акссовской базе и содержит он объект ворда?
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Экспорт в Вордятину
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]