Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
1 / 1 / 2
Регистрация: 06.12.2012
Сообщений: 9
1

OLE Word - Обрезает текст в таблице

06.12.2012, 14:29. Показов 3460. Ответов 0

Author24 — интернет-сервис помощи студентам
Всем привет!
Такая проблема, создаю таблицу в ворде, вставляю текст в ячейку, но текст обрезается...
Вот код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
TablePtr vTable;
WordRangePtr vCell;
Form1->WApp->ConnectKind=ckNewInstance;
Form1->WApp->Connect();
Form1->WApp->Options->CheckSpellingAsYouType=False;
Form1->WApp->Options->CheckGrammarAsYouType=False;
Form1->WApp->Documents->Add();
Form1->WDoc->ConnectTo(Form1->WApp->ActiveDocument);
Form1->WApp->Visible=true;
vTable=Form1->WDoc->Tables->Add(Form1->WDoc->Range(0),Form1->StringGrid->RowCount,13);
vTable->Borders->Enable=true;
vTable->Rows->Item(1)->Height=100;
vCell=vTable->Cell(1,1)->Range;
vCell->Font->Size=7;
vCell->Font->Bold=0;
vCell->InsertAfter(Form1->StringGrid->Cells[1][1].с_str());
Добавлено через 17 минут
WApp это TWordApplication
WDoc это TWordDocument

Результат:
[img]грузите картинки на форум[/img]

Пробовал еще и вот так, только через OLE:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Variant vVarApp, vVarDoc, vVarDocs,vVarRange,vVarParagraph,vVarParagraphs,vVarTable,vVarCell;
vVarApp=CreateOleObject("Word.Application");
vVarApp.OlePropertySet("Visible",true);
vVarDocs=vVarApp.OlePropertyGet("Documents");
vVarDocs.OleProcedure("Add");
vVarDoc=vVarDocs.OleFunction("Item",1);
vVarDoc.OleProcedure("Activate");
vVarParagraphs=vVarDoc.OlePropertyGet("Paragraphs");
vVarParagraphs.OleProcedure("Add"); //Добавляем параграф
vVarParagraph=vVarParagraphs.OleFunction("Item",1);  //Работаем с первым параграфом
vVarRange = vVarParagraph.OlePropertyGet("Range"); //Выбираем ряд в параграфе.
vVarDoc.OlePropertyGet("Tables").OleProcedure("Add", vVarRange, StringGrid->RowCount, 13,1,1);
vVarTable=vVarDoc.OlePropertyGet("Tables").OleFunction("Item",1); //Работать будем с первой таблицей - создана тоже одна
 
 
vVarCell=vVarTable.OleFunction("Cell",1,1);
vVarCell.OleFunction("Select");
vVarCell.OlePropertyGet("Range").OlePropertySet("Text",StringGrid->Cells[3][0].c_str());
Результат такой же.
Подскажите плиз, что не так.

Спасибо всем кто просмотрел тему. Нашел решение, как и думал-все дело в типе передаваемых данных.
Нужно передавать в типах BSTR он же OLESTR.
Весь код заново не буду писать, только исправленные строчки:
C++
1
vCell->InsertAfter(WideString(Form1->StringGrid->Cells[1][1]).c_bstr);
и для второго варианта
C++
1
vVarCell.OlePropertyGet("Range").OlePropertySet("Text",WideString(Form1->StringGrid->Cells[1][1]).c_bstr);
Миниатюры
OLE Word - Обрезает текст в таблице  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.12.2012, 14:29
Ответы с готовыми решениями:

C++ Builder. OLE Word. Направление текста в таблице справа налево для иврита
Здравствуйте. Как сделать для ячейки таблицы направление текста справа налево для иврита.

C++ Builder. OLE Word. Unicode текст
Эта строка вставляет с ячейку таблицы документа Word значение с базы данных. Данные на иврите и...

с++ Ole word печать
Дайте пожалуйста такую штуку отправка на печать файла borland c++ builder файл открыт где то...

OLE и Word portable
Здравствуйте. Если на компьютере установлен стандартный MS Word, то программа работает с...

0
06.12.2012, 14:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.12.2012, 14:29
Помогаю со студенческими работами здесь

Ole excel и word
Здравствуйте, проблема такая: при использование ole для word и excel при использование word и excel...

Работа с Word Ole-сервером...
Начал работать с Ole-сервером, но возникли 2 проблемки: 1. Как создать документ, используя...

Ole Word, управление печатью
Добрый день. Подскажите правильный формат команды дабы можно было управлять печатью с помощью...

Работа с OLE сервером Word
Добрый день) У меня есть проблемка, которую ни как не могу решить: Мне нужно каким-то образом...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru