Поиск:

Ответ в темуСоздание новой темы Создание опроса
> сохранение таблицы в ворде 
:(
    Опции темы
gordmiand
Дата 14.8.2008, 10:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 772
Регистрация: 15.4.2007

Репутация: нет
Всего: 0



подскажите как можно сохранить данные из таблицы StringGrid-а в таблицу в вордовском файле
(то есть по сути перенести данные из стринггрида в таблицу ворда)?
PM MAIL   Вверх
volvo877
Дата 14.8.2008, 10:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 13
Всего: 116



Вот так: http://base.vingrad.ru/view/1372-Kak-ekspo...S-Word-tablitsu

(сам в Билдер перенесешь?)
PM MAIL   Вверх
gordmiand
Дата 14.8.2008, 16:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 772
Регистрация: 15.4.2007

Репутация: нет
Всего: 0



а в формате С++ (Builder)? 
PM MAIL   Вверх
THandle
Дата 14.8.2008, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

Репутация: 25
Всего: 372



volvo877, насколько можно судить из вот этой темы:

http://forum.vingrad.ru/forum/topic-223322.html

в примере на который Вы дали ссылку небольшая ошибка о которой написал Albinos_x, а именно то, что столбцы перепутаны со строками...
PM   Вверх
volvo877
Дата 14.8.2008, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 13
Всего: 116



Попробуй вот это:

Код
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    Variant word_app = CreateOleObject("Word.Application");
    word_app.OlePropertySet("Visible", true);
    word_app.OlePropertyGet("Documents").OleProcedure("Add");

    Variant document = word_app.OlePropertyGet("Documents").OleFunction("Item", 1);
    int iCols = StringGrid1->ColCount;
    int iRows = StringGrid1->RowCount;

    Variant table = document.OlePropertyGet("Tables").
      OleFunction("Add", document.OleFunction("Range", 0, 0), iCols, iRows);
    for(int iGridRows = 1; iGridRows <= iRows; iGridRows++) {
        for(int iGridCols = 1; iGridCols <= iCols; iGridCols++) {
            Variant cell = table.OleFunction("Cell", iGridRows, iGridCols);
            cell.OlePropertyGet("Range").
                OleProcedure("InsertAfter",WideString(StringGrid1->Cells[iGridCols - 1][iGridRows - 1]));
        }
    }
    document.OleProcedure("SaveAs", WideString("G:\\test.doc"));
    word_app.OleProcedure("Quit");
}

PM MAIL   Вверх
gordmiand
Дата 27.8.2008, 11:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 772
Регистрация: 15.4.2007

Репутация: нет
Всего: 0



volvo877, подскажите пож-та как создать эту вордовскую таблицу в уже созданном файле, в заданном месте данного файла (например посередине страницы), как программно управлять размерами ячеек данной таблицы?



Это сообщение отредактировал(а) gordmiand - 27.8.2008, 17:03
PM MAIL   Вверх
gordmiand
Дата 27.8.2008, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 772
Регистрация: 15.4.2007

Репутация: нет
Всего: 0



подскажите пожалуйста!!!! оооооочень надо.......(см. вопросы выше)
PM MAIL   Вверх
volvo877
Дата 27.8.2008, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 13
Всего: 116



Ты нормально вопросы задай... Что значит "посередине страницы"? Ты можешь в твоем файле сам, вручную, создать таблицу посередине страницы? Вот поставь макрос на запись, и создай, а потом перенесешь то, что получилось с VBA в Билдер. То же самое касается и того, 
Цитата(gordmiand @  27.8.2008,  11:25 Найти цитируемый пост)
как программно управлять размерами ячеек данной таблицы
 - тебе надо управлять шириной? Для этого есть
Код

table.OlePropertyGet("Columns").OleFunction("Item", номер_столбца).
  OlePropertySet("PreferredWidthType", 3); // wdPreferredWidthPoints
table.OlePropertyGet("Columns").OleFunction("Item", номер_столбца).
  OlePropertySet("PreferredWidth", требуемая_ширина);

PM MAIL   Вверх
Dmi3ev
Дата 28.8.2008, 21:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1698
Регистрация: 28.11.2007

Репутация: 16
Всего: 41



http://wladm.narod.ru/Borland/word.html
тут все есть, что Вам надо smile смотрите с пункта 2.4


--------------------

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0483 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.