I am building a Word document using QAxObject. How do I set a single Border cell. And apply different alignment to different cells?
QAxObject* pWord = new QAxObject("Word.Application"); QAxObject *pWordDocuments = pWord->querySubObject("Documents()"); pWordDocuments = pWordDocuments->querySubObject("Add()"); pWord->setProperty("Visible",true); QAxObject *pWordApplication = pWord->querySubObject("Application"); pWordApplication->setProperty("FontNames", "Times New Roman"); QAxObject* pActiveDocument = pWord->querySubObject("ActiveDocument()"); QAxObject *pPageSetup = pActiveDocument->querySubObject("PageSetup"); pPageSetup->setProperty("TopMargin", 20); pPageSetup->setProperty("LeftMargin", 30); pPageSetup->setProperty("RightMargin", 15); pPageSetup->setProperty("BottomMargin", 20); QAxObject *pParagraphs = pActiveDocument->querySubObject("Paragraphs"); pParagraphs->setProperty("LineSpacing", "1,5"); QAxObject *selection = pWord->querySubObject("Selection()"); //выделяем область QAxObject *font = selection->querySubObject("Font()"); ...
QAxObject *range = selection->querySubObject("Range()"); QAxObject *tables = pWordDocuments->querySubObject("Tables()"); QAxObject *NewTable = tables->querySubObject("Add(Range,NumRows,NumColumns)",range->asVariant(),3,3); QAxObject* cell = NewTable->querySubObject("Cell(Row, Column)" , QVariant(1), QVariant(1)) ; QAxObject* celR = cell->querySubObject("Range()") ; cell = NewTable->querySubObject("Cell(Row, Column)" , 2, 1) ; celR = cell->querySubObject("Range()") ; QAxObject *border = cell->querySubObject("Borders(wdBorderBottom)"); border->setProperty("InsideLineStyle","wdLineStyleDouble"); celR->dynamicCall("InsertAfter(Text)", "Ответственный за обеспечение\n" "работ по ЛАРН\n" "Исполнитель отчёта, должность"); cell = NewTable->querySubObject("Cell(Row, Column)" , 2, 3) ; celR = cell->querySubObject("Range()"); celR->dynamicCall("InsertAfter(Text)", "И.О. Фамилия"); cell = NewTable->querySubObject("Cell(Row, Column)" , 3, 2) ; celR = cell->querySubObject("Range()") ; celR->dynamicCall("InsertAfter(Text)", "подпись, дата");