Показать сообщение отдельно
Старый 11.05.2006, 13:05   #6  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Нашёл у себя в джобах пример. Когда-то баловался. Однако, работает...
X++:
static void PasteSpecial_DemoJob(Args _args)
{
    TextBuffer txtb = new TextBuffer();
    EmplTable emplTable;
    int row;
    COM xlApp;            // Excel.Application
    COM wbks, wbk;        // Workbooks, Workbook
    COM wkss, wks;        // Worksheets, Worksheet
    COM rng, rngCR, cell; // все Range
    ;
    xlApp = new COM('Excel.Application');
    wbks = xlApp.Workbooks();
    wbk  = wbks.Add();
    wkss = wbk.Worksheets();
    wks  = wkss.Item(1);
    for (row = 1; row <= 5; row += 1) // выводит 5 копий таблицы emplTable
    {
        txtb.setText('');
        while select emplTable order by Name
        {
            txtb.appendText(emplTable.Name         ); txtb.appendText('\t');
            txtb.appendText(emplTable.PhoneLocal   ); txtb.appendText('\t');
            txtb.appendText(emplTable.EmplId       ); txtb.appendText('\t');
            txtb.appendText(emplTable.CellularPhone); txtb.appendText('\t');
            txtb.appendText(emplTable.UserId       ); txtb.appendText('\t');
            txtb.appendText('\r\n');
        }
        txtb.toClipboard();
        rng  = wks.Range('A'+int2str(row*1000)); // каждую копию списка начинаем с очередной 1000-й строки Excel
        rng.PasteSpecial(1);
    }
    xlApp.Visible(true);
}