C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Крутой вопрос !!!, Нужна помощь!!
vadoo
  Отправлено: 22.07.2003, 21:34


Не зарегистрирован







Задолбал тупой Qreport вот и решил напрямую качать в Word. Короче проблема такая. Из Делфи или Билдера надо открыть Ворд, создать новую таблицу, например из 5 столбцов, и изменить размер любого на выбор столбца. Умею всё, за исключением изменения размера столбца. Подскажите плиз как это сделать программно из Билдера, у меня версия 5. Очень надо. А я могу в ответ поделиться как из DBGRID перекачать данные в Ворд. Это не так уж и сложно, зато сможете делать любой отчет в Ворде или печатать там.
Jean
Отправлено: 23.07.2003, 07:31


Дежурный стрелочник

Группа: Участник
Сообщений: 34



Я когда нарыл такую возможность, у меня тоже радость была великая. Все, думаю, нафиг эти построители отчетов не нужны. Буду в Ворде делать. А потом я научился с Экселем работать. Там даже круче! Там еще и таблички есть и ваще жизнь — малина. А потом глядя на скорость работы!!!! Ты прайс элементарный в Эксел тот же пока выкинешь, все состарятся и умрут... Вот так вот. Так что бросай это дело и устанавливай ФастРепорт, например.
Valdemar
Отправлено: 23.07.2003, 15:29


Мастер участка

Группа: Участник
Сообщений: 433



WDoc->Tables->Item(1)->Columns->Item(2)->Width=500;
где TWordDocument *WDoc;
устанавливает ширину 2-ой колонки 1-ой таблицы равную 500
Young Coder
Отправлено: 23.07.2003, 18:33


Дежурный стрелочник

Группа: Участник
Сообщений: 34



Присоеденяюсь.
Давай фастрепор юзай.
Если что — отвечу на любой вопрос по нему.
vadoo
Отправлено: 23.07.2003, 21:47


Не зарегистрирован







QUOTE (Jean @ 23/07/2003, 08:33)
Я когда нарыл такую возможность, у меня тоже радость была великая. Все, думаю, нафиг эти построители отчетов не нужны. Буду в Ворде делать. А потом я научился с Экселем работать. Там даже круче! Там еще и таблички есть и ваще жизнь — малина. А потом глядя на скорость работы!!!! Ты прайс элементарный в Эксел тот же пока выкинешь, все состарятся и умрут... Вот так вот. Так что бросай это дело и устанавливай ФастРепорт, например.

Сэнкс за ответ и за совет, но фастрепорт платный, а я халяву люблю, ну есть у меня такое извращение ))). Если дашь ссылку на крякнутый и на документацию буду благодарный. Я как то зимой искал его, но все ссылки, что мне давали оказались закрытыми или не работали.
Георгий
Отправлено: 24.07.2003, 07:21


Почетный железнодорожник

Группа: Модератор
Сообщений: 874



vadoo
19$=~600p ты называешь платным???
если ты програмки делаешь за $$$$ или хотя бы за $$$ то эти гроши (19$) к тебе вернутся очень быстро, а если програмки пишешь для себя, то и демонстрационная версия не имеет никаких серьёзных минусов.
Jean
Отправлено: 24.07.2003, 07:32


Дежурный стрелочник

Группа: Участник
Сообщений: 34



Кстати, про платность. Че-то я вот глянул сейчас на цифру и где-то стукнуло — у ведь дешево совсем за такую работу-то smile.gif Я когда у них 2.32 версию скачивал с их сайта, даже не смотрел платный раздел и не видел цену. Просто, видимо, платный — хоть сколько. И все smile.gif)))) А теперь вот куплю smile.gif
vadoo
Отправлено: 24.07.2003, 11:12


Не зарегистрирован







QUOTE (Valdemar @ 23/07/2003, 16:31)
WDoc->Tables->Item(1)->Columns->Item(2)->Width=500;
где TWordDocument *WDoc;
устанавливает ширину 2-ой колонки 1-ой таблицы равную 500

Так не получиться. Я наверное непонятно задал вопрос.
Должно быть что-то в стиле
//------------------------------------------------------------------------------------
//- уменьшаем размер шрифта только таблицы до 10 пунктов
//- получаем ссылку на обьект Range таблицы для доступа к свойству Font
table_range = word_new_tables.OlePropertyGet("Range");
//- получаем доступ к свойству Font
word_font = table_range.OlePropertyGet("Font") ;
//- здесь устанавливаем размер шрифта
word_font.OlePropertySet("Size", 10) ;
//------------------------------------------------------------------------------------
т.е. работа идёт через OLE путём посылки в Word команд VBA.
Valdemar
Отправлено: 24.07.2003, 11:31


Мастер участка

Группа: Участник
Сообщений: 433



А почему бы не использовать компоненты с закладки Servers. Ведь и писанины будет меньше и работать по моему будет быстрее.

//- уменьшаем размер шрифта только таблицы до 10 пунктов
//- получаем ссылку на обьект Range таблицы для доступа к свойству Font
table_range = word_new_tables.OlePropertyGet("Range");
//- получаем доступ к свойству Font
word_font = table_range.OlePropertyGet("Font") ;
//- здесь устанавливаем размер шрифта
word_font.OlePropertySet("Size", 10) ;

Вместо всего этого можно было написать
WDoc->Tables->Item(1)->Range->Font->Size=10;
Young Coder
Отправлено: 24.07.2003, 12:21


Дежурный стрелочник

Группа: Участник
Сообщений: 34



QUOTE (Георгий @ 24/07/2003, 08:23)
vadoo
19$=~600p ты называешь платным???
если ты програмки делаешь за $$$$ или хотя бы за $$$ то эти гроши (19$) к тебе вернутся очень быстро, а если програмки пишешь для себя, то и демонстрационная версия не имеет никаких серьёзных минусов.

Господа, та версия, которая у меня есть (и которую я пытался выложить сюда) "нормальная".. если вы понимаете о чем я...
LeeMouse
  Отправлено: 25.07.2003, 15:33


Дежурный стрелочник

Группа: Участник
Сообщений: 79



Не мучайтесь люди с Вордом.... Купите FastReport — и NOT PROBLEM!!! biggrin.gif

Вернуться в Вопросы программирования в C++Builder