Форум: "Основная";
Текущий архив: 2002.06.27;
Скачать: [xml.tar.bz2];
Внизкак передать рисунок из приложения в 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.007 c