Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
[C++] Чтение таблиц WORD 17.11.02 09:00
Автор: Samus Статус: Незарегистрированный пользователь
|
Народ ! Нужна помощь!
Проблема в следующем:
Нужно организовать чтение таблицы из Word файла.
A-la
for (i=0; i < количество_строк; i++)
{
string str;
for ( j=0 ; j < количество_столбцов_в_строке_i; j++)
{
str += Table.Cell(i,j) + "...";
}
Routine(str);
}
Есть билдер 6. Нет нормальной документации по его реализации Word COM
интерфейсов. ( есть правда отдельный bcb5ms97.hlp, но он не подходит )
Есть непонятным образом срывающийся пробный кусок кода ..:(
Бардак..
TVariant Template = "C:\\1.doc";
WordApplication->Options->CheckSpellingAsYouType = false;
WordApplication->Options->CheckGrammarAsYouType = false;
WordDocument->ConnectTo(WordApplication->Documents->Add(&Template,EmptyParam));
ShowMessage(" Tables = " + AnsiString(WordDocument->Tables->Count)); // Успешно показывает 1 таблицу
Table* pTable = WordDocument->Tables->Item(0); // <<<<< Здесь срывается
ShowMessage(" Columns = " + AnsiString(pTable->Columns->Count));
Появляется MessageBox : HRCHECK:
(this->Item(Index, (Word_2k::Table**)&prop)) Error: 800A1735 ... AT ...\vcl\Word_2k.h/16123
[Y] to terminate [N]...
Stop строка в Word_2k.h :
Word_2k::Columns* prop;
OLECHECK(this->get_Columns((Word_2k::Columns**)&prop)); // <<<<<<
return prop;
Кто cталкивался с таким поведением Word-а в Билдере - дайте знать..
... или если кто знает как решить эту проблему другим способом ;)
... или если кто знает где лежат хорошие докина тему ... ( WordHelp не предлагать :)
Есть один выход: написать Dll-wrapper на VC/VB , но это крайний случай ..
интересно баг ли это или фича ;)
|
|
|