Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
1-88814
jen_bond
2002-06-17 01:20
2002.06.27
Экспортирование в dbf


1-88801
N A N
2002-06-14 19:46
2002.06.27
Как создать файл ресурсов....


14-89015
SPeller
2002-05-26 15:27
2002.06.27
Описание объектов JavaScript


1-88784
Янушка
2002-06-16 12:35
2002.06.27
Программа с двумя окнами


4-89074
RazorbladE
2002-04-30 11:44
2002.06.27
PostThreadMessage





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский