Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
0 / 0 / 0
Регистрация: 23.10.2009
Сообщений: 51

Не могу вывести отчет в MS Word.

18.06.2011, 14:51. Показов 2783. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Народ! Хелп!) помогите вывести отчет в word. в общем тема такая:
у меня на форме отображается информация в datagrid, взятая из таблицы бд. по кнопке "сформировать отчет", все данные из datagrid должны переноситься в таблице в word. при чем первое поле таблицы это № п/п. он должен увеличиться в зависимости от строк таблиц, которые выводиться из dataagrid. помогите плиз, кто чем может...
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.06.2011, 14:51
Ответы с готовыми решениями:

Не могу вывести и файла word текст в мемо
Всем привет , подскажите как быть, программа запускается , но при нажатии на кнопку выдает ошибку unit Unit1; {$mode objfpc}{$H+}...

Отчет в Word'e
Здравствуйте. Возникла проблема следующего характера: вывожу в word переменные типа AnsiString. После сохранения документа и его открытия к...

word отчет
Здравствуйте я новенький тут ) вообщем дела такое, замучался гуглить) делою заполнение word. документа спомощью text box, используя...

1
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
20.06.2011, 07:05
вібери нужное
Option Explicit

'*************************************** *************
'Создание документа с верхними и нижними
'колонтитулами и с таблицей внутри тела документа.
'Разработчик - Светлана Кирж
'*************************************** *************

'Поместите документ в c:\blank.doc дерикторию



Dim MyWord As Word.Application

Function PrintToPrinter()
Dim SelRange As String
Dim NumCopies As Integer
' Устанавливаем Cancel в True
ComDialog.CancelError = True
On Error GoTo ErrHandler

ComDialog.Flags = cdlPDAllPages
' Отображаем окно диалога Print

ComDialog.ShowPrinter


NumCopies = ComDialog.Copies

SelRange = wdPrintAllDocument

'Печатаем документ
MyWord.PrintOut Range:=SelRange, Item:= _
wdPrintDocumentContent, Copies:=NumCopies, Pages:="", PageType:=wdPrintAllPages, _
Collate:=True, Background:=True, PrintToFile:=False

Exit Function

ErrHandler:
' Пользователь нажал на Cancel
Err.Clear
Exit Function
End Function


Private Sub Command1_Click()
OpenDocum
End Sub

'Вставляем текст в документ
Function PrintReportinWord()

Dim Num As Integer
Dim NumTable As Integer
Dim NewR As Range 'Параметр для сохранения местонахождения курсора в документе
Dim NR As Integer 'Количество строк в таблице
Num = 1
NumTable = 1
With Selection

'Декларируем шрифты и разменры
.Font.Name = "Tahoma"
.Font.Size = 12
.Font.Bold = wdToggle 'именяем шрифт на более жирный
.ParagraphFormat.Alignment = wdAlignParagraphRight ' pexod na levyu ctorony documenta

'Вставляем дату

'.InsertDateTime DateTimeFormat:="d/M/yyyy", InsertAsField:=False, _
' DateLanguage:=wdDateLanguageLatin, CalendarType:=wdCalendarTypeGregorian

'или
'Вставляем
' .TypeText Text:=Format(Date, "dd/mm/yyyy")
'новая строчка
.TypeParagraph
.TypeParagraph

'объявляем цвет
'меняем цвет текста на синий
.Font.ColorIndex = wdBlue
.Font.Size = 16
.ParagraphFormat.Alignment = wdAlignParagraphCenter
'печатаем текст в документ
.TypeText Text:=" Example Document - testing "

'возвращаем стандартный цвет - черный
.Font.ColorIndex = wdAuto
.TypeParagraph
.ParagraphFormat.Alignment = wdAlignParagraphLeft
.Font.Size = 12
.TypeParagraph
.TypeText Text:="Example Table "
.TypeParagraph
'запоменаем место в документе для таблице
Set NewR = .Range

'добавляем таблицу
'создаем таблицу с определенным количеством строк и столбцов
NR = 3
.Tables.Add NewR, NR, 4

With ActiveDocument.Tables(NumTable)

'размер колонок
.Columns(1).SetWidth 110, wdAdjustFirstColumn
.Columns(2).SetWidth 110, wdAdjustFirstColumn
.Columns(3).SetWidth (.Columns(3).Width + .Columns(4).Width) / 2, wdAdjustFirstColumn

'заголовки для колонок
.Rows(1).Shading.Texture = wdTexture10Percent
.Cell(1, 1).Range.InsertBefore Text:="name1"
.Cell(1, 2).Range.InsertBefore Text:="name2"
.Cell(1, 3).Range.InsertBefore Text:="name3"
.Cell(1, 4).Range.InsertBefore Text:="name4"

'вставляем дату в колонки
Dim j As Integer
For j = 2 To NR
.Cell(j, 1).Range.InsertBefore Text:="TEST" & j + 1
.Cell(j, 2).Range.InsertBefore Text:="TEST" & j + 2
.Cell(j, 3).Range.InsertBefore Text:="TEST" & j + 3
.Cell(j, 4).Range.InsertBefore Text:="TEST" & j + 4
Next j
End With

'переходим вниз документа, после таблицы
Selection.EndKey unit:=wdStory

'востанавливаем параметры для определения шрифта
.Font.Name = "Tahoma"
.Font.Size = 12

'спускаемся на 2 строки вниз
.TypeParagraph
.TypeParagraph
.TypeText Text:=Text1.Text


'======================================= =================
'добавляем в нижний колонтитул

With ActiveDocument.Range.Sections(1).Footers (wdHeaderFooterPrimary).Range
.ParagraphFormat.Alignment = wdAlignParagraphLeft
.InsertBefore (Text2.Text & " " & Text3.Text)
End With
End With 'Selection

'======================================= =================


'Выводим готовый документ на экран
MyWord.Visible = True
MyWord.WindowState = wdWindowStateNormal
MyWord.Activate
MyWord.PrintPreview = True

Screen.MousePointer = vbDefault

'Посылаем на принтер для печати
PrintToPrinter

End Function

'Открытие документа
Function OpenDocum()
Dim NumPart As Integer
Err.Clear

'Смена стрелки мышки на часы
Screen.MousePointer = 11

On Error GoTo Notloaded

'Проверка на открытие WORD - а
Set MyWord = GetObject(, " Word.Application")

Notloaded:
'Если Word не открыт
If Err.Number = 429 Then
' Открытие WORD - а
Set MyWord = CreateObject("Word.Application")
ElseIf Err.Number <> 0 Then
'Выдается сообщение об ошибке
MsgBox Err.Description & vbCrLf & "Error"
Screen.MousePointer = 0
Exit Function
End If
'Отменяется показ документа на экране, все будет происходить невидимо для пользователя
MyWord.PrintPreview = False

'Открытие стандартного документа,созданного мной, как document1 или document2……

MyWord.Documents.Add "D:\КиРпИчИ\ВОРД\Создание док с таб\Files\blank.doc", False

'Преход в функцию для печати необходимого текста вдокумент
PrintReportinWord

End Function
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.06.2011, 07:05
Помогаю со студенческими работами здесь

Отчет в Word
Добрый день. Помогите, пожалуйста!!! Как вывести такой отчет в Word: у меня есть таблица Учет с полями наименование техники,...

Отчет в Word
Привет дайте пожалуйста если можете готовый любой Ole отчет в Word. Ли помогите с кодом. ...

Отчет в Word
Есть таблица. Нужно вывести отчет в файл MsWord. Подключаю библиотеку comobj. Создаю файл для отчета (файл создается по шаблону): ...

отчет в Word
Добрый день! Подскажите пожалуйста, что значит &quot;-1,unAssigned, unAssigned&quot; в следующем коде: WordApp.Selection.Goto(-1,unAssigned,...

Отчет Word в Delphi
Сделал вывод отчета Word на Делфи,но пишет следующие File not found:MyWord.dcu сам модуль в uses подключил,word установлен


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru