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

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by AleksP, 5 May 2008.

  1. AleksP

    AleksP New Member

    Joined:
    2 Mar 2008
    Messages:
    33
    Likes Received:
    0
    Reputations:
    0
    Таблица в Word задается через OLE при помощи следующего кода:

    Code:
    {
        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");
    }
    Как сделать так, чтобы ячейки таблицы создавались с рамкой?
     
    #1 AleksP, 5 May 2008
    Last edited by a moderator: 5 May 2008
  2. AleksP

    AleksP New Member

    Joined:
    2 Mar 2008
    Messages:
    33
    Likes Received:
    0
    Reputations:
    0
    А как модифицировать данный код, чтобы в некоторых строках таблицы было разное число столбцов(ячеек)?
     
  3. AleksP

    AleksP New Member

    Joined:
    2 Mar 2008
    Messages:
    33
    Likes Received:
    0
    Reputations:
    0
    Еще несколько вопросов:
    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) Как установить заданный цвет ячеек в строке?