TablesPtr MyTables;
Table* MyTable;
Column* MyColumn;
Cell* MyCell;
AnsiString TempAStr;
wchar_t* TempWStr;
int SizeOf_TempWStr;
// формируем строку, которую будем записывать в ячейку таблицы
TempAStr = "Hello";
SizeOf_TempWStr = TempAStr.WideCharBufSize();
TempWStr = new wchar_t[SizeOf_TempWStr];
TempAStr.WideChar(TempWStr, SizeOf_TempWStr);
// получаем доступ к ячейке куда будем записывать
MyTables = WordApplication1->ActiveDocument->Tables;
MyTable = MyTables->Item(1);
MyColumn = MyTable->Columns->Item(2);
MyCell = MyColumn->Cells->Item(1);
// записываем строку в ячейку
MyCell->Range->set_Text(TempWStr);
Не могу разобраться с ошибкой при работе с COM сервером Word
Код ниже записывает в ячейку таблицы документа Word строку "Hello". А в ячейке оказывается [FONT="Lucida Sans Unicode"][SIZE="4"]Hello * 㶼[/SIZE][/FONT] - дополнительные четыре символа юникода.
Код:
MyCell->Range->set_Text(L"Hello");
что запишет?
Записывает Hello и далее немеряно символов
Цитата: Dmitryl
Код ниже записывает в ячейку таблицы документа Word строку "Hello". А в ячейке оказывается [FONT="Lucida Sans Unicode"][SIZE="4"]Hello * 㶼[/SIZE][/FONT] - дополнительные четыре символа юникода.
...
...
А вот так не проще будет:
Код:
...
MyCell->Range->set_Text(WideString("Hello"));
...
MyCell->Range->set_Text(WideString("Hello"));
...
или если не обязательно работать через интегрированные в среду компоненты, то см. Здесь