Форум программистов, компьютерный форум, киберфорум
Наши страницы

Lazarus

Войти
Регистрация
Восстановить пароль
 
irabva
0 / 0 / 0
Регистрация: 14.12.2015
Сообщений: 11
#1

Добавление изображения в документ Word - Lazarus

06.06.2016, 11:13. Просмотров 208. Ответов 2

Пытаюсь добавить изображение в Word:
Рисунок выбирается через OpenPictureDialog (еще в TEdit(PathToPicture) показывается выбранный путь)
Delphi
1
2
Shape:=Act.ActiveDocument.Shapes.AddPicture(FileName:=UTF8tosys(OpenPictureDlg.FileName.Text), 
          LinkToFile:=False, SaveWithDocument:=True, Anchor:=MyRange);
пробовала
FileName:=UTF8tosys(PathToPicture.Text)
FileName:=OpenPictureDlg.FileName
и несколько других вариантов.
Выдает ошибку. Подскажите, пожалуйста, как решить проблему.
0
Миниатюры
Добавление изображения в документ Word  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.06.2016, 11:13
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Добавление изображения в документ Word (Lazarus):

Добавление изображения в документ Word - Lazarus
Комрады, нужна помощь. Никак не могу понять, что я делаю не так. Пытаюсь вставить картинку в документ Word: var WordApp :...

Открыть документ MS Word. Функция - Lazarus
Пишу функцию для открытия документа MS Word: ... // Constants for enum WdOpenFormat type WdOpenFormat = TOleEnum; const ...

Создать документ Word по шаблону? - Lazarus
Если просто создавать документ, то все создается без проблем. MSWORD.Documents.Add; Но если пытаюсь создать документ по шаблону, то...

Не получается вставить *.bmp в документ Word - Lazarus
for i:= 1 to 2 do begin MSWORD.Selection.GotoNext(Wath:= wdGotoPage); end; pic:=...

Перенос значений RadioButton в документ Word - Delphi
Добрый вечер, проблемка такая, на форме есть различные радиобаттон, необходимо перенести значение тех кнопок, которые были выбраны, в...

Как через Delphi записать макрос в документ Word? - Delphi
Вопрос, который я задаю, относится не только к языку Delphi, но и к программе MS Word. Меня интересует, как с помощью Delphi, записать и...

2
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
24651 / 16321 / 5019
Регистрация: 22.10.2011
Сообщений: 28,901
Записей в блоге: 5
06.06.2016, 11:51 #2
Приведи код полностью, вместе с получением MyRange. Почему обязательно надо дать только строку, которая выдает ошибку, а тут сиди и думай, а как ее ПОВТОРИТЬ???

Добавлено через 5 минут
Вот это:
Pascal
1
2
     Shape:=Doc.ActiveDocument.Shapes.AddPicture(FileName:=WideString(OpenPictureDlg.FileName),
               LinkToFile:=False, SaveWithDocument:=True);
прекрасно добавляет картинку без Anchor-а. Если проблема была именно в пути к файлу - то она решена. При чем тут FileName.Text - я так и не понял, нет у строки свойства Text.
0
irabva
0 / 0 / 0
Регистрация: 14.12.2015
Сообщений: 11
06.06.2016, 15:30  [ТС] #3
Мне необходимо вставить рисунок в определенное место. Нашла такой способ:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 if Picture.CheckBox.Checked then
     begin
          MyRange:=Act.ActiveDocument.Range(Act.ActiveDocument.Characters.Count-1,
                  Act.ActiveDocument.Characters.Count-1);
          Act.ActiveDocument.Range.InsertAfter('PICTURE' + #13 + #10);
          MyRange := Act.ActiveDocument.Content;
          MyRange.Find.ClearFormatting;
          MyRange.find.forward := true;
          MyRange.find.text := 'PICTURE';
          MyRange.Find.MatchCase := False;
          MyRange.Text := '';
          Shape:=Act.ActiveDocument.Shapes.AddPicture(FileName:=WideString(OpenPictureDlg.FileName),
LinkToFile:=False, SaveWithDocument:=True, Anchor:=MyRange);
     end;
Все равно ошибка. При открытии файла использую
Delphi
1
PathToDoc:= UTF8ToSys(ProjectName + '\Документы\Акт Обследования.doc');
И все работает.

попробовала
Delphi
1
2
Shape:=Act.ActiveDocument.Shapes.AddPicture(FileName:=WideString(OpenPictureDlg.FileName),
               LinkToFile:=False, SaveWithDocument:=True);
тоже ошибка.

Добавлено через 2 часа 30 минут
Нашла решение:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
if Picture.CheckBox.Checked then
     begin
          MyRange:=Act.ActiveDocument.Range(Act.ActiveDocument.Characters.Count-1,
                    Act.ActiveDocument.Characters.Count-1);
          img := TImage.Create(Self);
          img.AutoSize:=true;
          Img.Picture.LoadFromFile(utf8toSys(PathToPicture.Text));
          if img.Width > 800 then img.Width := 800;
          if img.Height > 600 then img.Height := 600;
          Clipboard.Assign(Img.Picture.Bitmap);
          Act.ActiveDocument.Frames.Add(MyRange);
          Act.ActiveDocument.Frames.Item(1).Height:=Img.Height;
          Act.ActiveDocument.Frames.Item(1).Width:=Img.Width;
          Act.ActiveDocument.Frames.Item(1).Select;
          Act.Selection.Paste;
          FreeAndNil(img);
          Clipboard.Clear;
          Act.Selection.InsertAfter(WideString(Utf8ToAnsi(#13 + #10 + 'Рисунок 1 - Схема информационной системы' 
                 + #13 + #10 )));
          Act.ActiveDocument.Range(0, Act.ActiveDocument.Characters.Count-1).Select;
       end;
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.06.2016, 15:30
Привет! Вот еще темы с ответами:

Добавление документа Word в ListBox - Delphi
Помогите сделать добавление документа Word в ListBox с компьютера чтобы название файла после добавления в ListBox сохранялось после...

Добавление двух таблиц в один документ Word (Delphi7) - Delphi
Подскажите как создать последовательно две разные таблицы в одном документе Word на одном листе? И при этом добавить текст перед таблицами...

Добавление коллекции переменных типа Variant в документ Word - C#
Написала кривой код по добавлению символов типа Variant в файл Word: Word.Application applic = new Word.Application(); ...

Конвертирование PDF в Word. Word документ получился с режимом ограниченной функциональности - MS Word
Добрый день! Конвертировал я PDF документ в Word документ через Adobe Acrobate pro DC. Получился документ с текстом нанесённым на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.