|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Вставка Chart-а как рисунка в Word
Здравствуйте, уважаемые эксперты. У меня такая проблемма. Из делфи мне нужно перенести три диаграммы в документ Word. У меня есть шаблон Word, в котором есть три строки ###Диаграмма1&, ###Диаграмма2&, ###Диаграмма3&. В программе есть три диаграммы (TChart). Как сделать так, чтобы программа находила в шаблоне строки и заменяла их диаграммами?
|
#2
|
|||
|
|||
создай TBitmap, далее сделай отрисовку контрола (TChart) на него (метод PaintTo), далее вставляй в Word как рисунок. Поиск места - через вызов соответсвующих методов Word'а через OLE (примеры см в ФАКе - там много рпзных).
|
#3
|
|||
|
|||
спасибо за подсказку, но не могли бы вы привести пример кода. просто я еще не очень хорошо изучил Делфи, и некоторые моменты мне непонятны
|
#4
|
||||
|
||||
Решение конечно жизнеспособное, и довольно быстрое, но вот в плане качества графики - плохое. Поэтому, все-же более правильное, хотя и существенно более трудоемкое решение, создавать диаграммы средствами ворд, но честно скажу, сам я такого не делал.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#5
|
||||
|
||||
Страдалецъ, не делал - не понтуйся (хотя все просто).
Casper179, а вот ваше сообщение : Цитата:
Цитата:
А тут этого не делают. Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |
#6
|
|||
|
|||
Да нет, код целиком писать я не прошу. у меня он, но почему то он работает, не так, как хочется мне. Вот участок данного кода:
Chart1.CopyToClipboardBitmap; W.Selection.FindEdit.Text := '###Диаграмма1&'; W.Selection.Paste; Для начала я копирую диаграмму в буфер обмена, затем в шаблоне нахожу строку '###Диаграмма1&', и пытаюсь на ее место вставить из буфера обмена диаграмму. но эта диаграмма почему то вставляется в самое начало документа. не могли бы вы подсказать, в чем возможна моя ошибка? заранее благодарю |
#7
|
||||
|
||||
Идея у тебя правильная. Скорее всего ты неправильно ищешь текст. Я не видел всей процедуры но попоробуй так:
Код:
procedure TForml.ButtonllClick(Sender: TObject); begin ..... Chart1.CopyToClipboardBitmap; W.Selection.Find.Forward:=true; W.Selection.Find.Text:='###Диаграмма1&'; if W.Selection.Find.Execute then W.Selection.Paste; end; Последний раз редактировалось Admin, 10.06.2010 в 10:48. |