kva |
Отправлено: 13.07.2004, 14:07 |
|
Не зарегистрирован
|
Помогите начинающему!
Как забраться в реальную таблицу документа fileName
фрагмент текста:
Variant Word=CreateOleObject("Word.Basic");
Word.Exec(Procedure("AppShow"));
Variant Document = Word.Exec(Procedure("FileOpen") << fileName);
Variant Table = Document.OlePropertyGet("Tables").OleFunction("Item", 1);
вызает ошибку на стадии выполнения последней строки
"Invalid variant type conversion" |
|
** MDM |
Отправлено: 16.07.2004, 10:09 |
|
Не зарегистрирован
|
QUOTE (kva @ 13/07/2004, 15:09) | Помогите начинающему!
Как забраться в реальную таблицу документа fileName
фрагмент текста:
Variant Word=CreateOleObject("Word.Basic");
Word.Exec(Procedure("AppShow"));
Variant Document = Word.Exec(Procedure("FileOpen") << fileName);
Variant Table = Document.OlePropertyGet("Tables").OleFunction("Item", 1);
вызает ошибку на стадии выполнения последней строки
"Invalid variant type conversion" |
//Вот разбирайся, будут вопросы пиши:
#include <utilcls.h>
#include <sysvari.h>
#include <ComObj.hpp>
//Обрати внимание на подключаемые заголовки и их порядок подключения.
//У меня билдер 5 не пропатченный и подругому у меня не работает.
...
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Variant Word, Document, Table, Cell;
int RowCount, ColCount;
Word = CreateOleObject("Word.Application.8");
Word.OlePropertySet("Visible", true);
Word.OlePropertyGet("Documents").OleProcedure("Add");
Document = Word.OlePropertyGet("Documents").OleFunction("Item", 1);
Table = Document.OlePropertyGet("Tables").OleFunction("Add",
Document.OleFunction("Range", 0, 0), 5, 5);
RowCount = Table.OlePropertyGet("Rows").OlePropertyGet("Count");
ColCount = Table.OlePropertyGet("Columns").OlePropertyGet("Count");
for (int i=1; i <=RowCount; i++)
for(int j=1; j <=ColCount; j++) {
Cell = Table.OleFunction("Cell", i, j);
Cell.OlePropertyGet("Range").OleProcedure("InsertAfter",
WideString(IntToStr(i)) + WideString("-") + WideString(IntToStr(j)));
}
Document.OleProcedure("SaveAs", ChangeFileExt(Application-
>ExeName, ".doc"));
Word.OleProcedure("Quit");
}
|
|
|