powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Отчет в Word
4 сообщений из 4, страница 1 из 1
Отчет в Word
    #32259865
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Докатились. Небольшой отчет нужно сформировать в виде .doc файла. Скажите, люди добрые, откуда начинать копать? Со "слияния". Или легче открыть через Application.Word чистый файл и заполнять его программно? Или еще как?
...
Рейтинг: 0 / 0
Отчет в Word
    #32259881
Задохлик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я так программно открывал и пихал данные,используя циклы в рекордсетах через word.application ,word.document,word.selection . Мне показалось это по правильнее.
...
Рейтинг: 0 / 0
Отчет в Word
    #32260016
Фотография mahoune
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Конечно через слияние красиво, но...
Там есть поля слияния, и их конечно можно устанавливать и сформатировать как тебе угодно, но не все получится! И потом вызывать механизм создания итогового отчета и т.д.
Таки образом я полагаю проще делать напрямую, да и красивости проще навести будет! Потом отчет нужен непосредственно для просмотра, а никак не для внесения данных в БД!

Код: plaintext
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.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
Access - Word
Нужно пользовать Office API. 
Подключаешь MSWORDx.olb 
Вот кусочек кода: 

Private Sub Number_DblClick(Cancel As Integer) 
dim WordApp As Word.Application, FS As FileSystemObject 
Set FS = CreateObject( "Scripting.FileSystemObject" ) 
'-- открыть документ '
Set WordApp = CreateObject( "Word.Application" ) 
If FS.FileExists(Setting( "Акты выполненых работ" ,  "tFolders" ) & _
   "\"  &  "АКТ ВЫПОЛНЕННЫХ РАБОТ_"  & Me.Number & _ 
   "_"  & Me.Date &  ".doc" ) Then 
WordApp.Application.Documents.Open Setting( "Акты выполненых работ" ,  "tFolders" ) & _
   "\"  &  "АКТ ВЫПОЛНЕННЫХ РАБОТ_"  & Me.Number &  "_"  & Me.Date &  ".doc"  
WordApp.Application.Visible = True 
Set FS = Nothing 
Set Range = Nothing
Set Document = Nothing
Set WordApp = Nothing
Set RS = Nothing 
Exit Sub 
End If 
WordApp.Application.Documents.Add  "АКТ ВЫПОЛНЕННЫХ РАБОТ" , , , True 
WordApp.Application.Visible = True 
Set Document = WordApp.Application.ActiveDocument 
Set Range = Document.Range 

Set RS = CurrentDb.OpenRecordset( "SELECT * FROM qJobsActs WHERE Number="  "" & Me.Number & "  """ ) 
'-- заполнить поля документа '
Range.Find.Execute FindText:= "%DocNumber" , ReplaceWith:=RS.Fields( "Number" ), Replace:=wdReplaceAll 
Range.Find.Execute FindText:= "%Vendor" , ReplaceWith:=RS.Fields( "Vendor" ), Replace:=wdReplaceAll 
Range.Find.Execute FindText:= "%VDirector" , ReplaceWith:= "генерального директора "  & _ 
  RS.Fields( "DSurname" ) &  " "  & Left(RS.Fields( "DName" ),  1 ) &  ". "  & _
  Left(RS.Fields( "DPatronymicName" ),  1 ) &  "." , Replace:=wdReplaceAll 
Range.Find.Execute FindText:= "%Customer" , ReplaceWith:=RS.Fields( "Customer" ), Replace:=wdReplaceAll 

Document.SaveAs Setting( "Акты выполненых работ" ,  "tFolders" ) &  "\"  & _ 
 "АКТ ВЫПОЛНЕННЫХ РАБОТ_"  & Me.Number &  "_"  & Me.Date &  ".doc" , wdFormatDocument, , , False 
RS.Close 
Set Range = Nothing: Set Document = Nothing: Set WordApp = Nothing: Set RS = Nothing 

End Sub
mahoune
...
Рейтинг: 0 / 0
Отчет в Word
    #32260074
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отлично!
Смысл понял. %блабла - тоже неплохо. Я как раз над этим задумался сейчас.
Спасибо большое. Буду делать.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Отчет в Word
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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