|
Отловить удаление картинки в документе Word
|
|||
---|---|---|---|
#18+
Документ открывается в OLE CONTROL в приложении Power Builder. Программно в него добавляется картинка с подписью пациента и сопутствующая информация. Пользователь может удалить картинку с подписью. Как можно это отловить, например при сохранении документа? Нужно в этом случае добавить соответствующий текст в документ. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2015, 18:17 |
|
Отловить удаление картинки в документе Word
|
|||
---|---|---|---|
#18+
PVN, можно при добавлении картинки создать в документе variables c позицией картинки и "соответствующим текстом". При сохранении документа проверить число картинок, и находится ли первая картинка в нужной позиции. Если нет, то вставить текст из переменной. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2015, 21:02 |
|
Отловить удаление картинки в документе Word
|
|||
---|---|---|---|
#18+
Спасибо за идею. А можно как-то поименовать картинку и потом искать по имени? Искомая картинка может быть не первой. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2015, 21:07 |
|
Отловить удаление картинки в документе Word
|
|||
---|---|---|---|
#18+
PVN, у картинок обоих типов (Shape и InlineShape) есть свойство AlternativeText. Используйте его. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2015, 10:33 |
|
Отловить удаление картинки в документе Word
|
|||
---|---|---|---|
#18+
Казанский Спасибо! Работает,в Power Builder синтаксис своеобразный и не все типы данных поддерживаются. Но вроде разобрался. Уткнулся в простой казалось бы вопрос - как добавить файл с подписью в конец документа? Пытался так This.ole_word.Object.Application.ActiveDocument.Content.InsertParagraphAfter() This.ole_word.Object.Application.Selection.InsertFile (ls_sign_temp) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2015, 16:02 |
|
Отловить удаление картинки в документе Word
|
|||
---|---|---|---|
#18+
Вот фрагмент по вставке рис. If lole_Word.ActiveDocument.Bookmarks.Exists("signature_image") = True Then lole_Word.ActiveDocument.Bookmarks.Item("signature_image").Select() lole_Word.Application.Selection.InlineShapes.AddPicture(is_sign_filename, False, True) ll_count = lole_Word.ActiveDocument.InlineShapes.Count if ll_count > 0 then lole_Word.ActiveDocument.InlineShapes[ll_count].AlternativeText = is_sign_image_name //'signature_image' lole_Word.ActiveDocument.Bookmarks.Item("signature_image").Delete() end if End If Картинка вставляется, но счетчик не меняется: lole_Word.ActiveDocument.InlineShapes.Count = 0 lole_Word.ActiveDocument.Shapes.Count тоже не меняется(2 надписи как были так и есть). Как тогда добраться до вновь вставленного объекта? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2015, 21:04 |
|
Отловить удаление картинки в документе Word
|
|||
---|---|---|---|
#18+
Поэкспериментировал, оказалось причина в том, что закладка установлена внутри надписи. Если вставлять рисунок просто в текущую позицию, то счетчик отрабатывает нормально. Но хотелось бы оставить надпись как контейнер для блока с подписью. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2015, 21:19 |
|
Отловить удаление картинки в документе Word
|
|||
---|---|---|---|
#18+
Может быть кому пригодиться - нужно в цикле по всем Shapes документа выделять их и затем искать картинку внутри TextBox. Скрипт на Power Builder // to check if exists sign image in document marked with AlternativeText = as_var Long ll_count, ll_count_in_shape Long ll_i, ll_j Boolean lb_exists ll_count = This.ole_word.Object.Application.ActiveDocument.Shapes.Count FOR ll_i = 1 TO ll_count This.ole_word.Object.Application.ActiveDocument.Shapes[ll_i].Select() ll_count_in_shape = This.ole_word.Object.Application.Selection.InlineShapes.Count FOR ll_j = 1 TO ll_count_in_shape If This.ole_word.Object.Application.Selection.InlineShapes[ll_j].AlternativeText = as_var Then lb_exists = true exit end if NEXT NEXT ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2015, 18:15 |
|
|
start [/forum/topic.php?fid=61&msg=39074916&tid=2173319]: |
0ms |
get settings: |
12ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
55ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 167ms |
0 / 0 |