|
Установить картинку в ворд | ☑ | ||
---|---|---|---|---|
0
MistaEr
17.04.18
✎
11:17
|
Доброго дня.
Заполняю файл MS Word WD = Новый COMOBject("Word.Application"); Попытка WordDoc = WD.Documents.Open(ПолноеИмяФайла,,0); Исключение Возврат Неопределено; КонецПопытки; WordDoc = WD.ActiveDocument; wdWord = 2; wdExtend = 1; wdWindowStateMaximize = 1; WD.ActiveWindow.View.ShowFieldCodes = 0; NumOfFields = WordDoc.Fields.Count; Замена = WordDoc.Content.Find; Замена.Wrap = 1; Замена.ClearFormatting(); Замена.Replacement.ClearFormatting(); Замена.Forward = True; Замена.Wrap = 1; Замена.Format = False; Замена.MatchCase = False; Замена.MatchWholeWord = False; Замена.MatchWildcards = False; Замена.MatchSoundsLike = False; Замена.MatchAllWordForms = False; Замена.Text = "ФИО"; Замена.Replacement.Text = "Иванов И.И."; Замена.Execute( , , , , , , , , , , 2); WordDoc.Save(); WordDoc.Close(); WordDoc = Неопределено; Если WD.Documents.Count = 0 Тогда WD.Quit(0); КонецЕсли; WD = Неопределено; Возникла задача добавить картинку Selection = WD.Selection; Picture=Selection.InlineShapes.AddPicture("C:\DO\20180209\Снимок1.png", Ложь, Истина); Picture.Height = 100; Picture.Width = 150; Добавляет в самое начало файла. Мне нужно в определенное место в середине, не в конце |
|||
1
b_ru
17.04.18
✎
11:34
|
Это тайное ниндзютцу, постигается только теми, кто понимает, что такое Selection, зачем он нужен и почему он НЕ нужен в данном случае.
Подсказка, есть такой объект Range, у него есть коллекция InlineShapes. А еще есть объект Paragraph. |
|||
2
MistaEr
17.04.18
✎
11:52
|
(1) Спасибо!
Параграф = WordDoc.Paragraphs.Item(НомерПараграфа); TempImagePath = "C:\DO\20180209\Снимок1.jpg"; Файл = Новый Файл(TempImagePath); Параграф.Range.InlineShapes.AddPicture(TempImagePath); Только вот не знаю НомерПараграфа как найти |
|||
3
MistaEr
17.04.18
✎
12:53
|
Может кто знает, как определить номер текущей строки в ворде?
|
|||
4
b_ru
17.04.18
✎
13:07
|
>>Только вот не знаю НомерПараграфа как найти
Да можешь банально посчитать, если у тебя шаблон не меняется. А можешь перебирать все и искать по тексту содержимого, а в шаблоне соответственно в этом месте напиши какую-нибудь метку. |
|||
5
MistaEr
17.04.18
✎
13:21
|
(4) Да. Метку я поставил. Нашел метку, заменил на "". А как получить номер строки)
|
|||
6
MistaEr
17.04.18
✎
13:31
|
b_ru, спасай!!
|
|||
7
zladenuw
17.04.18
✎
14:38
|
||||
8
MistaEr
17.04.18
✎
14:44
|
(7) Это то я сделал. Но НомерПараграфа я хочу задать сам
|
|||
9
MistaEr
17.04.18
✎
14:45
|
Не просто задать цифрой, а найти в файле метку, где должна быть картинка и определить номер строки. Это и будет НомерПараграфа
|
|||
10
zladenuw
17.04.18
✎
14:49
|
||||
11
b_ru
17.04.18
✎
14:52
|
Номер параграфа - это не номер строки, это номер абзаца.
Для Каждого Пар Из WordDoc.Paragraphs Цикл Если СтрНайти(Пар.Range.text, МояМетка) > 0 Тогда Пар.Range.InlineShapes.AddPicture(TempImagePath); КонецЕсли; КонецЦикла; |
|||
12
zladenuw
17.04.18
✎
14:52
|
||||
13
MistaEr
17.04.18
✎
15:22
|
(11) Сделал вот так. Всем большущее спасибо!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |