|
|
|
Еще раз Builder + Word
|
|||
|---|---|---|---|
|
#18+
Решил поизучать Builder (раньше занимался дельфи), который день мучаюсь на элементарных местах. Ну не хватает если знаний... 1. Необходимо открыть шаблон Word'а TIniFile *ConfigFile; AnsiString strTemp; try { ConfigFile = new TIniFile(ExtractFilePath(Application->ExeName) + "Config.ini"); if (Main->Tag == 0) strTemp = ConfigFile->ReadString("Template","ConsPath",""); else strTemp = ConfigFile->ReadString("Template","AllPath",""); if (strTemp != "") try { // Создание Word WordApp = Variant::CreateObject("Word.application"); WordApp.OlePropertySet("Visible",(Variant)True); Variant my_docs; Variant this_doc; my_docs = WordApp.OlePropertyGet("Documents"); this_doc = my_docs.OleFunction("Open", strTemp); } catch (Exception &e) { Application->MessageBox("Ошибка загрузки шаблона в Word!", Application->Title.c_str(), MB_OK | MB_ICONERROR | MB_DEFBUTTON2); } } __finally { delete ConfigFile; } Выдает - неверный тип переменной... А какой он должен быть то? Пробовал - this_doc = my_docs.OleFunction("Open", (Variant)strTemp); 2. Как вставить данные по Bookmark? 3. Как вставить данные в уже имеющуюся таблицу Желательно привести примеры, т.к. как это делается в дельфи знаю. Не знаю синтаксиса C++. Примеры можно присылать на dhel@km.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2004, 22:58 |
|
||
|
Еще раз Builder + Word
|
|||
|---|---|---|---|
|
#18+
Я делаю что-то типа этого: TVariant Template = "имя_шаблона"; WordApplication->Connect(); WordApplication->Documents->Add(&Template, EmptyParam); // вставка по метке TVariant ovWhat = wdGoToBookmark; TVariant Bookmark = "метка"; WordApplication->Selection->GoTo(&ovWhat, EmptyParam, EmptyParam, &Bookmark); WordApplication->Selection->TypeText(WideString("значение")); // вставка в таблицу TVariant D = 1; TVariant T = 1; WordApplication->Documents->Item(&D)->get_Content()->Tables->Item(&T)->Cell(1,1)->Range->Text = WideString("значение"); WordApplication->Visible = true; WordApplication - компонент типа TWordApplication. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2004, 14:10 |
|
||
|
Еще раз Builder + Word
|
|||
|---|---|---|---|
|
#18+
Огромное спасибо! Но так и не попробовал ваш вариант. А как сделать тоже самое поздним связыванием? У теперь у меня новая ошибка. Добавляю компонент WordApplication с палитры Office2k. У меня в проекте используются компоненты Eh. Так вот теперь возникает ошибка - [C++ Error] ToolCtrlsEh.hpp(488): E2015 Ambiguity between 'Windows' and 'Word_2k::Windows' Что делать??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2004, 22:39 |
|
||
|
Еще раз Builder + Word
|
|||
|---|---|---|---|
|
#18+
У меня в проекте тоже используютя компоненты Eh, но таких проблем нет. Может быть разные версии Eh. У меня 2.2. Посмотрю свой ToolCtrlsEh.hpp. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2004, 13:52 |
|
||
|
Еще раз Builder + Word
|
|||
|---|---|---|---|
|
#18+
У меня билдер стоит дома, на работе только дельфи (из того же установочного пакета) - Ehlib v3.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2004, 14:54 |
|
||
|
Еще раз Builder + Word
|
|||
|---|---|---|---|
|
#18+
Какая строка № 488 в ToolCtrlsEh.hpp? В моей версии 2.3 такой строки нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2004, 15:19 |
|
||
|
Еще раз Builder + Word
|
|||
|---|---|---|---|
|
#18+
Дома посмотрю, вечерком точно скажу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2004, 15:28 |
|
||
|
Еще раз Builder + Word
|
|||
|---|---|---|---|
|
#18+
virtual void __fastcall DrawItem(int Index, const Types::TRect &Rect, Windows::TOwnerDrawState State); Ругается на Windows... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2004, 20:26 |
|
||
|
Еще раз Builder + Word
|
|||
|---|---|---|---|
|
#18+
Очень странно.... Есть в ToolCtrlsEh.hpp строка #include <Windows.hpp>? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2004, 12:19 |
|
||
|
Еще раз Builder + Word
|
|||
|---|---|---|---|
|
#18+
>>Так вот теперь возникает ошибка - [C++ Error] ToolCtrlsEh.hpp(488): E2015 Ambiguity between 'Windows' and 'Word_2k::Windows' Что делать??? у меня было: [C++ Error] FileCtrl.hpp(70): E2015 Ambiguity between 'Windows' and 'Word_2k::Windows' на этой строке virtual void __fastcall DrawItem(int Index, const Types::TRect &Rect, Windows::TOwnerDrawState State); так вот, нашел здесь http://]http://www.cbuilder.ru/progi/forum_answer.php?id=1331&nn=390 совет и мне помог. Сделал так virtual void __fastcall DrawItem(int Index, const Types::TRect &Rect, ::TOwnerDrawState State); и заработало :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2004, 14:51 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=32377820&tid=2035320]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
56ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 229ms |
| total: | 379ms |

| 0 / 0 |
