Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.06.27;
Скачать: CL | DM;

Вниз

как передать рисунок из приложения в Word???   Найти похожие ветки 

 
Max79   (2002-06-07 22:00) [0]

Я использую компоненты с закладки "Servers"

oldStr:="@3"; newStr:=Edit1.Text;
WordDocument1.Range.Find.Execute(oldStr,EmptyParam,EmptyParam, EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,newStr,replace);
как можно заменить в Wordе "@3" на картинку из моего приложения?


 
sevylor ©   (2002-06-09 20:08) [1]

Попробуй так (W2000):
wa1: TWordApplication;

var Templ, FindStr :oleVariant;
begin
FindStr:="@aaa";
Templ:="C:\Program Files\Borland\Delphi6\Projects\00.doc";
try
wa1.Documents.Open(
Templ, //filename
EmptyParam, //ConfirmConversions
EmptyParam, //ReadOnly
EmptyParam, //AddToRecent
EmptyParam, //PasswordDocument
EmptyParam, //PasswordTemplate
EmptyParam, //Revert
EmptyParam, //WritePasswordDocument
EmptyParam, //WritePasswordTemplate
EmptyParam, //Format
EmptyParam, //Encoding
EmptyParam); //Visible
wa1.Visible:=true;
wa1.Selection.Find.Execute(
FindStr, //FindText
EmptyParam, //MatchCase
EmptyParam, //MatchWholeWord
EmptyParam, //MatchWildCard
EmptyParam, //MatchSoundsLike
EmptyParam, //MatchAllWordForms
EmptyParam, //Forward
EmptyParam, //Wrap
EmptyParam, //Format
EmptyParam, //ReplaceWith
EmptyParam, //Replace
EmptyParam, //MatchKashida
EmptyParam, //MatchDiacritics
EmptyParam, //MatchAlefHamza
EmptyParam); //MatchControl
ClipBoard.Assign(Image1.Picture.Bitmap);
wa1.Selection.Paste;
finally
ClipBoard.Clear;
end;

Проверял - работает.
В документе надо искать параграф, а в Application само найдется.
Но я обычно делаю шаблон с таблицей, тогда все проще:

wd1.Tables.Item(1).Cell(12,1).Range.Paste;
(wd1:TWordDocument)
P.S. И не забывай запись макросов - все довольно просто и понятно.


 
Max79   (2002-06-09 23:19) [2]

Огромное спасибо! а примерчика у тебя нет??? если не трудно, скинь на мыло, плз! Заранее благодарен.


 
sevylor ©   (2002-06-10 23:31) [3]

А что ты имеешь ввиду? Что-то неясно? Напиши.


 
Max79   (2002-06-12 00:09) [4]

Тут проблемка: при вставке картинки в Word 97 картинка ложится поверх текста и форматирование нарушается! Как лечить?? Как сделать, чтобы картинка ложилась в текст?

Иеще такая проблема: Я создал отчет в Wordе, сохранил документ, сделал Word видимым - WordApplication1.Visible:=true;, поглядел отчет, закрыл отчет вместе с Wordoм и пытаюсь снова сгенерировать отчет! Вылазит Exception и орет мне, что сервер RPC недоступен!

Как лечить??? Подскажите, плз!


 
sevylor ©   (2002-06-14 03:43) [5]

Все равно, неясно, что за картинку можно уместить на месте строки "@3"? Именно для сохранения форматирования я и пользую шаблоны с таблицей с невидимыми бордерами. Кстати, можно переносить автоматически часть строк таблицы на другие страницы (Footer).
По поводу трабла №2. Лечится обработкой WordApplication.OnQuit. Обязательно вставляй в программу:
procedure TForm1.wa1Quit(Sender: TObject);
begin
try
WordDocument1.Disconnect;
WordApplication1.Disconnect;
finally
end;
end;
и в обработчике Form.OnClose на всякий случай WordApplicationQuit(Self). И вызовы Word"а только в блоке try/except(finally), иначе при любом сбое Word будет запущен, можешь это увидеть по Ctrl-Alt-Del.


 
Max79   (2002-06-14 22:02) [6]


У меня создается отчет с необходимостью пихать в него картинки примерно 3*4 сантиметра. При вставке картинки происходит такая штука: если поглядеть в Worde свойство этой картинки, там написано "Поверх текста". Мне надо чтобы было "В тексте".
Как избавиться???

Заранее благодарен!



Страницы: 1 вся ветка

Текущий архив: 2002.06.27;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.018 c
1-88807
Payland
2002-06-16 20:56
2002.06.27
Переадресация


1-88820
Andrew_JR
2002-06-17 00:29
2002.06.27
Массивы+Memo


1-88837
svv
2002-06-17 11:30
2002.06.27
Как в заголовок вывести стрелочку (в дос код 25)?


1-88910
vitek
2002-06-12 19:49
2002.06.27
КАК быть?


4-89082
anod
2002-04-28 00:13
2002.06.27
RegisterHotKey