Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.66/68: Рейтинг темы: голосов - 68, средняя оценка - 4.66
 Аватар для Neo_AVE
89 / 36 / 5
Регистрация: 04.05.2011
Сообщений: 239

Создание отчёта в Word

01.06.2011, 18:24. Показов 13698. Ответов 33
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, пожалуйста, подскажите, как создать отчёт не в QuickRep, а в Word. Причем он должен содержать от каждой формы информацию именно из Label, как бы скопировать содержимое Label в отчет. Я впервые сталкиваюсь с созданием отчёта. Искала в форуме, не нашла то, что нужно. Заранее спасибо.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.06.2011, 18:24
Ответы с готовыми решениями:

Создание отчёта
не выводит данные из DBGrid, после компиляции так же отображается как скриншоте , подключил Prewiv к базе , DBText тоже подцепил к нужным...

Создание отчёта в Buidere
Подскажите как создать отчёт в билдере?

Создание дубликата страницы word
Имеется документ .doc, внутри которого одна страница с текстом. Как с помощью ole можно в этом же документе скопировать весь текст на...

33
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
01.06.2011, 21:47
Создание отчета в Word
Разработка приложения для базы данных Access
ОТЧЕТ
Возможно ли сократить код
0
 Аватар для Neo_AVE
89 / 36 / 5
Регистрация: 04.05.2011
Сообщений: 239
03.06.2011, 14:45  [ТС]
Смотрела я эти темы, но нужного не нашла , мне нужно сначала с чего начинать, в каких событиях писать код. При чем все данные нужно вывести на *.doc, а данные находятся все в разных Label, и мне нужно как бы скопировать в документ word.
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
03.06.2011, 14:58
http://wladm.narod.ru/Borland/word.html
1
 Аватар для Neo_AVE
89 / 36 / 5
Регистрация: 04.05.2011
Сообщений: 239
03.06.2011, 15:05  [ТС]
Спасибо, а создавать тот код в главной форме, или в отдельной? У меня, например, при помощи кнопки "Вывести отчёт" расположена эта кнопка на гл. форме. И к тому же есть и другие кнопки "Завершить", тоже должен выводиться отчет.
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
03.06.2011, 15:08
на этих кнопках и пиши код
1
 Аватар для Neo_AVE
89 / 36 / 5
Регистрация: 04.05.2011
Сообщений: 239
03.06.2011, 15:50  [ТС]
Я написала код для одной кнопки, ошибок нет, но когда нажимала на кнопку, вылезла "ошибка", то есть нужно создать документ самой или программа должна создать? просто нет *.doc в папке с программой.
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
03.06.2011, 16:30
Какая ошибка? И выложи код кнопки на которой ты написала код
1
 Аватар для Neo_AVE
89 / 36 / 5
Регистрация: 04.05.2011
Сообщений: 239
03.06.2011, 17:39  [ТС]
C++
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#include <sysvari.h>
#include "ComObj.hpp"
//#include <utilcls.h>
Variant vVarApp,vVarParagr,vVarParph,vVarParagraph,v;
bool fStart;    
AnsiString str;
void __fastcall TFrmSrr::Btn2Click(TObject *Sender)
{
        FrmSrr->Close();
        vVarApp=CreateOleObject("Word.Application");    
        vVarApp.OleProcedure("Documents");  
        if(!fStart)
        {
            try{
              vVarApp=CreateOleObject("Word.Application");
              fStart=true;
            }
            catch(...)
            {
                MessageBox(0,"Ошибка при открытии сервера Word",
                             "Ошибка", MB_OK);
                return;
            }
        }
        vVarApp.OlePropertySet("Visible",false);   
        Variant Doc=vVarApp.OlePropertyGet("Documents");       
        Doc.OleProcedure("Add");
        if(Doc.OlePropertyGet("Count") != 1)
        {
          MessageBox(0, "Ошибка при открытии сервера",
               "Ошибка", MB_OK);
          return;
        }
        vVarParagr=Doc.OleFunction("Item",1); 
        Doc.OleProcedure("Activate");
        vVarParph=Doc.OlePropertyGet("Paragraphs");   
        str="\t\tКОЛИЧЕСТВО\t\t";
        vVarParph.OleProcedure("Add");
        vVarParagraph=vVarParph.OleFunction("Item",1);
        vVarParagr.OlePropertyGet("PageSetup").OlePropertySet("TopMargin",28.35);
        vVarParagr.OlePropertyGet("PageSetup").OlePropertySet("LeftMargin",28.35);
        vVarParagr.OlePropertyGet("PageSetup").OlePropertySet("RightMargin",28.35);
        vVarParagr.OlePropertyGet("PageSetup").OlePropertySet("BottomMargin",28.35);
        vVarParph.OleProcedure("Add");
        //vVarParagraph=vVarParph.OleFunction("Item",1);
        v=vVarParagraph.OlePropertyGet("Range").OlePropertyGet("Font");
        v.OlePropertySet("Size",22);
        v.OlePropertySet("Bold",true);
        vVarParagraph.OlePropertyGet("Range").
        OlePropertySet("Text",str.c_str());
        vVarParagraph.OlePropertySet("Alignment",1);
        vVarParph.OleProcedure("Add");
        //vVarParph.OleProcedure("Add");
        //vVarParph.OleProcedure("Add");
        str = "\t\t"+Lbl5->Caption;
        vVarParagraph=vVarParph.OleFunction("Item", 4);
        v=vVarParagraph.OlePropertyGet("Range").OlePropertyGet("Font");
        v.OlePropertySet("Size",16);
        vVarParagraph.OlePropertyGet("Range").
        OlePropertySet("Text",str.c_str());
        vVarParagraph.OlePropertySet("Alignment",3);
        vVarParph.OleProcedure("Add");
}
0
1 / 1 / 0
Регистрация: 31.03.2010
Сообщений: 70
03.06.2011, 21:07
Насчет 1-ой ссылки... там вопрос не решен! зачем людям советовать то? может и правда попробовать разобраться в вопросе?
0
 Аватар для Neo_AVE
89 / 36 / 5
Регистрация: 04.05.2011
Сообщений: 239
03.06.2011, 22:23  [ТС]
Всё равно жду помощи, хоть кто-нибудь найдет ошибку
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
03.06.2011, 22:25
Sidi, вполне согласен, разберитесь и предоставьте решение, люди будут благодарны .

Добавлено через 1 минуту
Цитата Сообщение от Neo_AVE Посмотреть сообщение
когда нажимала на кнопку, вылезла "ошибка", то есть нужно создать документ самой или программа должна создать? просто нет *.doc в папке с программой.
ошибка имеет текст?
0
1 / 1 / 0
Регистрация: 31.03.2010
Сообщений: 70
03.06.2011, 22:26
как найду обязательно выложу по той ссылке

Добавлено через 1 минуту
нет, просто не происходит действие. это появилось просле записи else return до этого ругался на сервер
0
 Аватар для Neo_AVE
89 / 36 / 5
Регистрация: 04.05.2011
Сообщений: 239
03.06.2011, 22:28  [ТС]
LK, нет, она появляется при нажатии кнопки. А в самой программе нет ошибки, может я запуталась в переменных? просто не выводится отчет, так как работает вот именно эта строка:
Цитата Сообщение от Neo_AVE Посмотреть сообщение
if(Doc.OlePropertyGet("Count") != 1) { MessageBox(0, "Ошибка при открытии сервера", "Ошибка", MB_OK); return; }
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
03.06.2011, 22:36
без return; и с else не пробовали?
0
 Аватар для Neo_AVE
89 / 36 / 5
Регистрация: 04.05.2011
Сообщений: 239
03.06.2011, 22:41  [ТС]
Все также:
C++
1
2
3
4
5
6
7
8
9
10
 if(Doc.OlePropertyGet("Count")!= 1)
        {
          MessageBox(0, "Ошибка при создании документов",
               "Ошибка", MB_OK);
        }
        else
         {
           vVarApp=CreateOleObject("Word.Application");
                fStart=true;
         }
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
03.06.2011, 22:46
у вас при нажатии кнопки появляется ваше же сообщение ? так это не ошибка, просто Count не 1 .
0
 Аватар для Neo_AVE
89 / 36 / 5
Регистрация: 04.05.2011
Сообщений: 239
03.06.2011, 22:55  [ТС]
а какой же? их должно быть 2?Если отчет для одной кнопки один

Добавлено через 4 минуты
поставила 2, все равно также. Может просмотрим по порядку каждую строку, я впервые создаю такой отчет и брала пример ссылки 4 поста.
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
03.06.2011, 23:00
поставим все с головы на ноги
C++
1
2
3
4
5
6
7
8
if (Doc.OlePropertyGet("Count") == 0) {
  vVarApp=CreateOleObject("Word.Application");
  fStart=true;
else if(Doc.OlePropertyGet("Count") >= 1) {
  MessageBox(0, "Документ уже создан.",
                "В Багдаде все спокойно",
                MB_OK);
}
0
 Аватар для Neo_AVE
89 / 36 / 5
Регистрация: 04.05.2011
Сообщений: 239
03.06.2011, 23:07  [ТС]
нет, оказывается прога вызывает обработку исключения:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
if(!fStart)
        {
            try{
              vVarApp=CreateOleObject("Word.Application");
              fStart=true;
            }
            catch(...)
            {
                MessageBox(0,"ошибка при открытии сервера Word",
                             "Ошибка", MB_OK);
                return;
            }
        }
и отсюда окно вылезает "Ошибка"
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.06.2011, 23:07
Помогаю со студенческими работами здесь

Создание Word-документа (не работает в XE)
вот код который нарыл в инете работает на с++ builder 6 . НА C++ Builder XE ошибка Variant Word, Document, Table; Word =...

Word: создание таблицы и заполнение ячеек
Привет всем! Это сново я! Помогите пожалуйста! Я создаю в Word таблицу и заполняю её ячейки вот так :for (int q=1,qz=4;q&lt;kolip;q++,qz++)...

Word создание документа и запись из Edit...
Добрый день не могу создать докумет ворд... Делаю следующее: Добавляю в .h : #include &lt;ComObj.hpp&gt; #include ...

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

Создание отчёта
Добрый день! Помогите разобратся в чём проблема. У меня есть ADOQuery1 и ADOQuery2. ADOQuery1 на грид, а ADOQuery2 настроен на отчёт...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
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
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru