PDA

Просмотр полной версии : Задание рамки у ячейки таблицы через OlePropertyGet в C++ Builder


AleksP
05.05.2008, 00:49
Таблица в Word задается через OLE при помощи следующего кода:

{
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");
}

Как сделать так, чтобы ячейки таблицы создавались с рамкой?

AleksP
06.05.2008, 00:49
А как модифицировать данный код, чтобы в некоторых строках таблицы было разное число столбцов(ячеек)?

AleksP
09.05.2008, 00:20
Еще несколько вопросов:
1) Как присвоить свойство шрифта Bold каждой ячейке в строке? Сейчас делаю так:
for (int j = 1; j <= ColCount; j++)
{
Cell = Table.OleFunction("Cell", i, j);
Cell.OlePropertyGet("Range").OlePropertyGet("Font").OlePropertySet("Bold", "1");
}
2) Как сделать горизонтальное и вертикальное выравнивание по центру в каждой ячейке строки?
3) Как установить заданный цвет ячеек в строке?