|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.05.2012, 20:00 | #1 |
Пользователь
Регистрация: 07.12.2010
Сообщений: 72
|
Вывод отчета в Word. Bulder
Вот мой код!!!
//--------------------------------------------------------------------------- #include <vcl.h> #include <ComObj.hpp> #include <utilcls.h> #pragma hdrstop #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; Variant vVarApp,vVarDocs,vVarParagraphs,vVa rParagraph; bool fStart; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::Button3Click(TObject *Sender) { if(fStart) vVarApp.OleProcedure("Quit"); Close(); } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { vVarApp.OlePropertySet("имя", значение); переменная = app.OlePropertyGet("имя"); vVarApp.OleProcedure("имя",список параметров метода); vVarApp=CreateOleObject("Word.Appli cation"); Variant v; if(!fStart) { try { vVarApp=CreateOleObject("Word.Appli cation"); fStart=true; } catch(...) { MessageBox(0, "Ошибка при открытии сервера Word", "Ошибка", MB_OK); return; } } vVarApp.OlePropertySet("Visible",tr ue); vVarDocs=vVarApp.OlePropertyGet("Do cuments"); vVarDocs.OleProcedure("Add","Templa te", NewTemplate, DocumentType); vVarDocs.OleProcedure("Add", "C:\\WINDOWS\\Application Data\\Microsoft\\Шаблоны\\Normal.do t", false,0); vVarDocs.OleProcedure("Add"); vVarDoc=vVarDocs.OleFunction("Item" ,n); vVarDocs.OleProcedure("Add"); vVarDocs.OleProcedure("Add"); vVarDocs.OleProcedure("Add"); vVarDocs.OleProcedure("Add"); if(vVarDocs.OlePropertyGet("Count") != 2) { MessageBox(0, "Ошибка при создании документов", "Ошибка", MB_OK); return; } vVarDoc=vVarDocs.OleFunction("Item" ,2); vVarDoc.OleProcedure("Activate"); vVarParagraphs=vVarDoc.OlePropertyG et("Paragraphs"); str="\t\tОзнакомлен\t\t"; vVarParagraphs.OleProcedure("Add"); vVarParagraph=vVarParagraphs.OleFun ction("Item",1); vVarParagraph.OlePropertyGet("Range "). OlePropertySet("Text",str.c_str()); vVarParagraph.OlePropertySet("Align ment",2); str="Директор\t\t=Пупкин="; vVarParagraphs.OleProcedure("Add"); vVarParagraph=vVarParagraphs.OleFun ction("Item",2); vVarParagraph.OlePropertyGet("Range "). OlePropertySet("Text",str.c_str()); vVarParagraph.OlePropertySet("Align ment",2); vVarParagraphs.OleProcedure("Add"); str="\"....\"...................... .....2003г."; vVarParagraphs.OleProcedure("Add"); vVarParagraph=vVarParagraphs.OleFun ction("Item",4); vVarParagraph.OlePropertyGet("Range "). OlePropertySet("Text",str.c_str()); vVarParagraph.OlePropertySet("Align ment",2); vVarParagraphs.OleProcedure("Add"); str="Итоги работы за неделю."; vVarParagraphs.OleProcedure("Add"); vVarParagraph=vVarParagraphs.OleFun ction("Item",6); vVarParagraph.OlePropertyGet("Range "). OlePropertySet("Text",str.c_str()); vVarParagraph.OlePropertySet("Align ment",1); } //--------------------------------------------------------------------------- |
12.05.2012, 20:00 | #2 |
Пользователь
Регистрация: 07.12.2010
Сообщений: 72
|
А вот ошибки, которые он мне выдает!!! Я новичок, и мне очень сложно понять! ЗАранее спасибо.
[C++ Error] Unit1.cpp(37): E2206 Illegal character 'з' (0xe7) [C++ Error] Unit1.cpp(37): E2206 Illegal character 'н' (0xed) [C++ Error] Unit1.cpp(37): E2206 Illegal character 'à' (0xe0) [C++ Error] Unit1.cpp(37): E2206 Illegal character 'ч' (0xf7) [C++ Error] Unit1.cpp(37): E2206 Illegal character 'е' (0xe5) [C++ Error] Unit1.cpp(37): E2206 Illegal character 'н' (0xed) [C++ Error] Unit1.cpp(37): E2206 Illegal character 'и' (0xe8) [C++ Error] Unit1.cpp(37): E2206 Illegal character 'е' (0xe5) [C++ Error] Unit1.cpp(37): E2188 Expression syntax [C++ Error] Unit1.cpp(38): E2206 Illegal character 'п' (0xef) [C++ Error] Unit1.cpp(38): E2206 Illegal character 'е' (0xe5) [C++ Error] Unit1.cpp(38): E2206 Illegal character 'р' (0xf0) [C++ Error] Unit1.cpp(38): E2206 Illegal character 'е' (0xe5) [C++ Error] Unit1.cpp(38): E2206 Illegal character 'м' (0xec) [C++ Error] Unit1.cpp(38): E2206 Illegal character 'е' (0xe5) [C++ Error] Unit1.cpp(38): E2206 Illegal character 'н' (0xed) [C++ Error] Unit1.cpp(38): E2206 Illegal character 'н' (0xed) [C++ Error] Unit1.cpp(38): E2206 Illegal character 'а' (0xe0) [C++ Error] Unit1.cpp(38): E2206 Illegal character 'я' (0xff) [C++ Error] Unit1.cpp(38): E2188 Expression syntax [C++ Error] Unit1.cpp(39): E2206 Illegal character 'с' (0xf1) [C++ Error] Unit1.cpp(39): E2206 Illegal character 'п' (0xef) [C++ Error] Unit1.cpp(39): E2206 Illegal character 'и' (0xe8) [C++ Error] Unit1.cpp(39): E2206 Illegal character 'с' (0xf1) [C++ Error] Unit1.cpp(39): E2206 Illegal character 'о' (0xee) [C++ Error] Unit1.cpp(39): E2228 Too many error or warning messages Как их убрать и на что он жалуется?Text |
12.05.2012, 20:39 | #3 |
Форумчанин
Регистрация: 17.11.2010
Сообщений: 262
|
Код:
|
12.05.2012, 21:29 | #4 |
Пользователь
Регистрация: 07.12.2010
Сообщений: 72
|
создать объект автоматизации:
vVarApp=CreateOleObject("Word.Appli cation"); Также, по причине описанной ввыше (Ч 1. П 1.1), не будем ориентироваться на конкретную библиотеку *.olb Office (конструкцию типа Word.Application.8 или Excel.Application.9, как и имена констант использовать не будем). С этого момента можно пользоваться свойствами и методами созданного ole сервера, а именно: Установка свойства. vVarApp.OlePropertySet("имя", значение); Чтение значения свойства. переменная = app.OlePropertyGet("имя"); Вызов метода: vVarApp.OleProcedure("имя",список параметров метода); =================================== ========= Я их правильно описал???? в коде. а то я переделал русские слова - на английский. он такие ошибки выдает! [C++ Error] Unit1.cpp(37): E2451 Undefined symbol 'znachenie' [C++ Error] Unit1.cpp(37): E2285 Could not find a match for 'Variant::OlePropertySet(char *,undefined)' [C++ Error] Unit1.cpp(38): E2451 Undefined symbol 'peremennay' [C++ Error] Unit1.cpp(38): E2451 Undefined symbol 'app' [C++ Error] Unit1.cpp(39): E2451 Undefined symbol 'poisk' [C++ Error] Unit1.cpp(39): E2121 Function call missing ) [C++ Error] Unit1.cpp(58): E2451 Undefined symbol 'NewTemplate' [C++ Error] Unit1.cpp(58): E2451 Undefined symbol 'DocumentType' [C++ Error] Unit1.cpp(58): E2285 Could not find a match for 'Variant::OleProcedure(char *,char *,undefined,undefined)' [C++ Error] Unit1.cpp(63): E2451 Undefined symbol 'vVarDoc' [C++ Error] Unit1.cpp(63): E2451 Undefined symbol 'n' [C++ Error] Unit1.cpp(63): E2285 Could not find a match for 'Variant::OleFunction(char *,undefined)' [C++ Error] Unit1.cpp(77): E2451 Undefined symbol 'str' [C++ Error] Unit1.cpp(81): E2285 Could not find a match for 'Variant::OlePropertySet(char *,undefined)' [C++ Error] Unit1.cpp(87): E2285 Could not find a match for 'Variant::OlePropertySet(char *,undefined)' [C++ Error] Unit1.cpp(94): E2285 Could not find a match for 'Variant::OlePropertySet(char *,undefined)' [C++ Error] Unit1.cpp(101): E2285 Could not find a match for 'Variant::OlePropertySet(char *,undefined)' |
12.05.2012, 21:51 | #5 |
Форумчанин
Регистрация: 17.11.2010
Сообщений: 262
|
http://stackoverflow.com/questions/2...in-the-foregro
просто поменять на английский не правильно, нужно знать эти параметры, вот ссылка почитайте. |
12.05.2012, 22:11 | #6 |
Пользователь
Регистрация: 07.12.2010
Сообщений: 72
|
http://upwap.ru/2331434
пароль 123 просмотрите |
12.05.2012, 22:31 | #7 |
Пользователь
Регистрация: 07.12.2010
Сообщений: 72
|
[C++ Error] Unit1.cpp(287): E2451 Undefined symbol 'vVarApp'
[C++ Error] Unit1.cpp(288): E2451 Undefined symbol 'vVarDocs' [C++ Error] Unit1.cpp(291): E2451 Undefined symbol 'vVarDoc' [C++ Error] Unit1.cpp(292): E2451 Undefined symbol 'vVarParagraphs' [C++ Error] Unit1.cpp(293): E2451 Undefined symbol 'str' [C++ Error] Unit1.cpp(327): E2451 Undefined symbol 'vVarParagraph' [C++ Error] Unit1.cpp(328): E2451 Undefined symbol 'v' как понять эти ошибки и описать их? вот код //формирование отчета в Word vVarApp = CreateOleObject("Word.Application" ); vVarDocs=vVarApp.OlePropertyGet("Do cuments"); vVarApp.OlePropertySet("Visible", 1); vVarDocs.OleProcedure ("Add"); //("Open", "C:\\12.xls"); vVarDoc=vVarDocs.OleFunction("Item" ,1); vVarParagraphs=vVarDoc.OlePropertyG et("Paragraphs"); str="Код формулы по УКУД ___________________________________ ______________________"; //Поменять Лэйбл на новый vVarParagraphs.OleProcedure("Add"); vVarParagraphs.OleProcedure("Add"); vVarParagraphs.OleProcedure("Add"); vVarParagraphs.OleProcedure("Add"); vVarParagraphs.OleProcedure("Add"); vVarParagraphs.OleProcedure("Add"); vVarParagraphs.OleProcedure("Add"); vVarParagraphs.OleProcedure("Add"); vVarParagraphs.OleProcedure("Add"); vVarParagraphs.OleProcedure("Add"); vVarParagraphs.OleProcedure("Add"); vVarParagraphs.OleProcedure("Add"); vVarParagraphs.OleProcedure("Add"); vVarParagraphs.OleProcedure("Add"); vVarParagraphs.OleProcedure("Add"); vVarParagraphs.OleProcedure("Add"); vVarParagraphs.OleProcedure("Add"); vVarParagraphs.OleProcedure("Add"); vVarParagraphs.OleProcedure("Add"); vVarParagraphs.OleProcedure("Add"); vVarParagraphs.OleProcedure("Add"); vVarParagraphs.OleProcedure("Add"); vVarParagraphs.OleProcedure("Add"); vVarParagraphs.OleProcedure("Add"); vVarParagraphs.OleProcedure("Add"); vVarParagraphs.OleProcedure("Add"); vVarParagraphs.OleProcedure("Add"); vVarParagraphs.OleProcedure("Add"); vVarParagraphs.OleProcedure("Add"); vVarParagraphs.OleProcedure("Add"); vVarParagraphs.OleProcedure("Add"); vVarParagraphs.OleProcedure("Add"); vVarParagraphs.OleProcedure("Add"); vVarParagraph=vVarParagraphs.OleFun ction("Item",1); v=vVarParagraph.OlePropertyGet("Ran ge").OlePropertyGet("Font"); v.OlePropertySet("Size",10); vVarParagraph.OlePropertyGet("Range ").OlePropertySet("Text",str.c_str( )); vVarParagraph.OlePropertySet("Align ment",2); vVarParagraphs=vVarDoc.OlePropertyG et("Paragraphs"); str="Код учреждения по ОКПО ___________________________________ ______________________ "; vVarParagraphs.OleProcedure("Add"); vVarParagraph=vVarParagraphs.OleFun ction("Item",2); v=vVarParagraph.OlePropertyGet("Ran ge").OlePropertyGet("Font"); v.OlePropertySet("Size",10); vVarParagraph.OlePropertyGet("Range ").OlePropertySet("Text",str.c_str( )); vVarParagraph.OlePropertySet("Align ment",2); |
12.05.2012, 22:31 | #8 |
Пользователь
Регистрация: 07.12.2010
Сообщений: 72
|
vVarParagraphs=vVarDoc.OlePropertyG et("Paragraphs");
str="Медицинская документация"; //Поменять Лэйбл на новый vVarParagraphs.OleProcedure("Add"); vVarParagraph=vVarParagraphs.OleFun ction("Item",5); v=vVarParagraph.OlePropertyGet("Ran ge").OlePropertyGet("Font"); v.OlePropertySet("Size",8); vVarParagraph.OlePropertyGet("Range ").OlePropertySet("Text",str.c_str( )); vVarParagraph.OlePropertySet("Align ment",2); vVarParagraphs=vVarDoc.OlePropertyG et("Paragraphs"); str="Форма№027/у"; //Поменять Лэйбл на новый vVarParagraphs.OleProcedure("Add"); vVarParagraph=vVarParagraphs.OleFun ction("Item",7); v=vVarParagraph.OlePropertyGet("Ran ge").OlePropertyGet("Font"); v.OlePropertySet("Size",8); vVarParagraph.OlePropertyGet("Range ").OlePropertySet("Text",str.c_str( )); vVarParagraph.OlePropertySet("Align ment",2); vVarParagraphs=vVarDoc.OlePropertyG et("Paragraphs"); str="Утвержд. Миндздравом СССР 04.10.80 "; //Поменять Лэйбл на новый vVarParagraphs.OleProcedure("Add"); vVarParagraph=vVarParagraphs.OleFun ction("Item",8); v=vVarParagraph.OlePropertyGet("Ran ge").OlePropertyGet("Font"); v.OlePropertySet("Size",8); vVarParagraph.OlePropertyGet("Range ").OlePropertySet("Text",str.c_str( )); vVarParagraph.OlePropertySet("Align ment",2); vVarParagraphs=vVarDoc.OlePropertyG et("Paragraphs"); str="№1030"; //Поменять Лэйбл на новый vVarParagraphs.OleProcedure("Add"); vVarParagraph=vVarParagraphs.OleFun ction("Item",9); v=vVarParagraph.OlePropertyGet("Ran ge").OlePropertyGet("Font"); v.OlePropertySet("Size",8); vVarParagraph.OlePropertyGet("Range ").OlePropertySet("Text",str.c_str( )); vVarParagraph.OlePropertySet("Align ment",2); vVarParagraphs=vVarDoc.OlePropertyG et("Paragraphs"); str="Министрество здравоохранения РФ"; //Поменять Лэйбл на новый vVarParagraphs.OleProcedure("Add"); vVarParagraph=vVarParagraphs.OleFun ction("Item",4); v=vVarParagraph.OlePropertyGet("Ran ge").OlePropertyGet("Font"); v.OlePropertySet("Size",10); vVarParagraph.OlePropertyGet("Range ").OlePropertySet("Text",str.c_str( )); vVarParagraph.OlePropertySet("Align ment",0); vVarParagraphs=vVarDoc.OlePropertyG et("Paragraphs"); str="Наименование учреждения_________________________ ___________"; //Поменять Лэйбл на новый vVarParagraphs.OleProcedure("Add"); vVarParagraph=vVarParagraphs.OleFun ction("Item",5); v=vVarParagraph.OlePropertyGet("Ran ge").OlePropertyGet("Font"); v.OlePropertySet("Size",10); vVarParagraph.OlePropertyGet("Range ").OlePropertySet("Text",str.c_str( )); vVarParagraph.OlePropertySet("Align ment",0); vVarParagraphs=vVarDoc.OlePropertyG et("Paragraphs"); str="ВЫПИСКА"; //Поменять Лэйбл на новый vVarParagraphs.OleProcedure("Add"); vVarParagraph=vVarParagraphs.OleFun ction("Item",9); v=vVarParagraph.OlePropertyGet("Ran ge").OlePropertyGet("Font"); v.OlePropertySet("Size",10); v.OlePropertySet("Bold",true); vVarParagraph.OlePropertyGet("Range ").OlePropertySet("Text",str.c_str( )); vVarParagraph.OlePropertySet("Align ment",1); vVarParagraphs=vVarDoc.OlePropertyG et("Paragraphs"); str="из медицинской карты амблаторного, стационарного"; //Поменять Лэйбл на новый vVarParagraphs.OleProcedure("Add"); vVarParagraph=vVarParagraphs.OleFun ction("Item",11); v=vVarParagraph.OlePropertyGet("Ran ge").OlePropertyGet("Font"); v.OlePropertySet("Size",10); v.OlePropertySet("Bold",true); vVarParagraph.OlePropertyGet("Range ").OlePropertySet("Text",str.c_str( )); vVarParagraph.OlePropertySet("Align ment",1); vVarParagraphs=vVarDoc.OlePropertyG et("Paragraphs"); str="(нужное подчеркнуть) больного"; //Поменять Лэйбл на новый vVarParagraphs.OleProcedure("Add"); vVarParagraph=vVarParagraphs.OleFun ction("Item",12); v=vVarParagraph.OlePropertyGet("Ran ge").OlePropertyGet("Font"); v.OlePropertySet("Size",10); v.OlePropertySet("Bold",true); vVarParagraph.OlePropertyGet("Range ").OlePropertySet("Text",str.c_str( )); vVarParagraph.OlePropertySet("Align ment",1); |
13.05.2012, 12:57 | #9 |
Форумчанин
Регистрация: 17.11.2010
Сообщений: 262
|
С++ типизированный язык, по-этому нужно задать тип переменных.
Код:
str - AnsiString или UnicodeString (дома borlanda нет, точно не проверю) http://wladm.narod.ru/Borland/word.html вот еще ссылка на хороший ресурс с объяснением. Прочитай его полностью. |
16.05.2012, 14:38 | #10 |
Пользователь
Регистрация: 07.12.2010
Сообщений: 72
|
Drugnir
Drugnir Спасибо. Ты правильно описал данную проблему. Но я Это уже сделал и сдал курсовую. Спасибо тебе, что помогал!!!
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Заполнение отчета .dot (Word) через Delphi | McKaY | Помощь студентам | 0 | 27.02.2012 22:36 |
Bulder и Fortran | Чайник, но учусь | C++ Builder | 4 | 14.11.2011 20:44 |
просьба создание отчета по word | Arderun | Microsoft Office Excel | 8 | 14.04.2011 20:11 |
Первая программа, C++ Bulder | edmynt | Помощь студентам | 2 | 31.01.2010 15:12 |
экспорт отчета в Word | higor | Microsoft Office Access | 4 | 04.10.2009 00:24 |