Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.01.2010, 09:08   #1
Maddy
Пользователь
 
Регистрация: 18.01.2010
Сообщений: 17
По умолчанию из Delphi Записать строку в Word полсе чего вставить туда картинку.

как запистать строку в ворд я знаю. подскажите как вставить в конеу строки Картинку из Delphi.

Последний раз редактировалось Maddy; 19.01.2010 в 09:14.
Maddy вне форума Ответить с цитированием
Старый 19.01.2010, 10:03   #2
ViNcHeStEr
Delphi
Форумчанин
 
Регистрация: 12.06.2008
Сообщений: 137
По умолчанию

Вроде так:
Код:
Clipboard.Assign(Image1.Picture);
WordApplication1.Selection.Paste;
ViNcHeStEr вне форума Ответить с цитированием
Старый 19.01.2010, 10:12   #3
Скандербег
Форумчанин
 
Регистрация: 04.04.2009
Сообщений: 438
По умолчанию

Открываем Word. Запускаем запись макроса. Вставляем картинку тем способом, который нужен. Останавливаем запись макроса. Смотрим в макросах что получилось. Копируем строки из текста макроса в приложение. Поправляем текст сообразно требованиям Delphi.
Например, может получиться следуещее:
Код:
  WApp.Selection.InlineShapes.AddPicture(FileName := <имя файла>, 
                       LinkToFile:=False, SaveWithDocument:=True)
Здесь WApp : Variant; ссылка на объект MS Word.
Скандербег вне форума Ответить с цитированием
Старый 29.01.2010, 08:43   #4
Maddy
Пользователь
 
Регистрация: 18.01.2010
Сообщений: 17
По умолчанию

Цитата:

Код:
  WApp.Selection.InlineShapes.AddPicture(FileName := <имя файла>, 
                       LinkToFile:=False, SaveWithDocument:=True)
Здесь WApp : Variant; ссылка на объект MS Word.
Спасибо. Использовал второй вариант. он работал Вычера А тут блин
Мистика какая-то - Написал вчера код

Вчера работал как надо все вставляет сохраняет. в общем все отлично. Занимался другой совершенно частью кода. Сегодня открываю А он, [Цензура] не работает! Что может быть не пойму. гляньте код может чего присоветуете
вот Uses
Код:

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ExtCtrls,  Variants,DB, OleServer, ADODB,WordXP;
вот код процедуры записи картинки в ворд (ну там еше текст до картинки вставляеться из мемо окна)
Код:

procedure TResultForm.Button3Click(Sender: TObject);
var jpeg:Word;
Vr,Vcon,Vex,Vrange: OleVariant;
Picture1: file;
Stroka1,Stroka2:string;
begin
savedialog1.InitialDir:=extractfilepath(paramstr(0))+'Documentation';
savedialog1.FileName:=MassivImenTablic[IntName]+' '+NameArray[IntName];
if savedialog1.Execute then begin
   Memo1.Lines.SaveToFile(Savedialog1.filename);//Заппись текста в файл.
  try MainForm.wrdplctn1.Connect;
   Stroka1:=Savedialog1.filename;//Savedialog1.filename
   Stroka2:=savedialog1.InitialDir+'@';
   Delete(Stroka1,1,pos('@',Stroka2));
   Vr:=Stroka1;   // +'""'
  Vcon:=58;
  Vex:=wdOpenFormatAuto;
 {Макрос открытия в Ворде
ChangeFileOpenDirectory "D:\Eeuy\Iie DCS\Help\"
    Documents.Open FileName:="""I ?aaioa i?ia?aiiu.doc""", ConfirmConversions _
        :=False, ReadOnly:=False, AddToRecentFiles:=False, PasswordDocument:="", _
        PasswordTemplate:="", Revert:=False, WritePasswordDocument:="", _
        WritePasswordTemplate:="", Format:=wdOpenFormatAuto, XMLTransform:=""}
  MainForm.wrdplctn1.ChangeFileOpenDirectory(savedialog1.InitialDir);
  MainForm.wrdplctn1.Documents.Open
(Vr,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,Vex,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam);
// ВОТ на этой строке выпадает ошибка  
// proect DCS.exe raised eception class EOleExeption with message "Ошибка на сервере" 
  //MainForm.wrdplctn1.Documents.Open
//(Vr,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,
//EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,
//EmptyParam,EmptyParam,EmptyParam,EmptyParam);
  Vr:=wdStory;
  MainForm.wrdplctn1.Selection.EndKey(Vr,EmptyParam);
  AssignFile(Picture1,PathTo_DB_File+'Avatar.bmp');
  img1.Picture.SaveToFile(PathTo_DB_File+'Avatar.bmp');
  Vrange:=EmptyParam;
  Vex:=True;
  Vcon:=False;
  MainForm.wrdplctn1.Selection.InlineShapes.AddPicture(PathTo_DB_File+'Avatar.bmp',Vcon,Vex,Vrange);
  DeleteFile(PathTo_DB_File+'Avatar.bmp');
  Vr:=Savedialog1.FileName;
  Vex:=wdFormatDocument;
  MainForm.wrdplctn1.ActiveDocument.SaveAs
(Vr,Vex,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam);
  except MainForm.wrdplctn1.Disconnect;  end;
  end;
end;
Maddy вне форума Ответить с цитированием
Старый 29.01.2010, 15:00   #5
Maddy
Пользователь
 
Регистрация: 18.01.2010
Сообщений: 17
По умолчанию

На тему мистики Если кому интересно. На сколько я понял просто в тексте нет процедуры закрытия файла. И вот в первый день когда я дописал - все опробовал наоткрывал разных файлов, которые не закрылись после сохранения. И после перезагрузки компьютера Ворд сделал их несохраннеными документами , которые сначала надо посмотреть и исправить и закрыть , прежде чем вносить все новые и новые изменения. Будьте внимательны.
Maddy вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как из delphi вставить символ в word? Sony Общие вопросы Delphi 10 04.09.2014 19:51
Вставить картинку в TEdit Dark Компоненты Delphi 6 30.05.2009 20:20
Excel: Вставить картинку или Word документ Mort222 Microsoft Office Excel 6 19.02.2009 12:47
Как с поиощью hiew вставить в файл строчку, "раздвинуть" файл и вставить туда строчку? barand Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 28.06.2008 10:58
RichEdit. как можно вставлять картинку туда? как можно Скрол програмно вниз двигать? Svop Компоненты Delphi 7 28.11.2006 21:07