Главная страница
    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-88832
Чайник2
2002-06-17 09:16
2002.06.27
DelphiX


3-88709
Sokoloff
2002-06-03 13:21
2002.06.27
SQL запрос


1-88902
voodoo_alex
2002-06-13 21:59
2002.06.27
Как идеологически верней ?


1-88816
ups:(
2002-06-14 09:55
2002.06.27
работа с датами


1-88870
Bart
2002-06-14 11:55
2002.06.27
Помогите узнать версию exe файла!!!





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский