Новости:

Интересные и полезные статьи по работе с Excel и VBA
можно найти в разделе ХИТРОСТИ

Главное меню

Проблема с картинкой из таблицы

Автор Vladislav10, 05.12.2025, 16:38:09

« назад - далее »

Vladislav10

Копирую область таблицы и вставляю как
.PasteSpecial DataType:=wdPasteEnhancedMetafile
Получается неполное изображение, но если нажать ПКМ и выбрать Изменение рисунка - становится видимым полностью и при конвертации в инлайн остаётся полным. Как это выполнить на VBA?

Дмитрий Щербаков(The_Prist)

Цитата: Vladislav10 от 05.12.2025, 16:38:09Как это выполнить на VBA
Это - это что? ПКМ по рисунку? Конвертирование? Конкретизируйте. Картинка не подгружается и что Вы там делаете и что надо вообще непонятно.
Конвертировать: h.ConvertToInlineShape
ПКМ - нельзя имитировать простыми средствами, там надо через API заморачиваться. Проще докопаться до причины. Возможно глюк или неполная прорисовка сразу после вставки и нужно время(тот же цикл от 1 до 100 с DoEvents)
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...

Vladislav10

Нажать ПКМ и выбрать Изменение рисунка. Команда такая нужна с использованием VBA. При чём тут имитация ПКМ? Да и ПКМ проще сымитировать через mouse_event, если на то пошло. Если бы этим ограничивалось...
Сказали, что Application.CommandBars.ExecuteMso ("EditPicture") должно выполнять то же действие, но у меня на Word-е 2013 не срабатывает и не находит такого. Также после нажатия на Изменение рисунка становятся доступны команды Увеличить или Подобрать размер.

Картинка обрезается при копировании из одного документа

https://wdfiles.ru/1uxh0

Дмитрий Щербаков(The_Prist)

Цитата: Vladislav10 от 08.12.2025, 10:55:26При чём тут имитация ПКМ?
вот при чём:
Цитата: Vladislav10 от 05.12.2025, 16:38:09если нажать ПКМ и выбрать Изменение рисунка - становится видимым полностью и при конвертации в инлайн остаётся полным. Как это выполнить на VBA?
Вы бы сами поняли себя, если бы так поставили задачу? Описали кучу действий и только один вопрос: как это выполнить. Я и задал первым делом вопрос: что именно "это"? И дальше уже стал описывать, какие варианты понимания задачи появляются при подобной их постановке.

Насчет команды "Изменить изображение". У меня её вообще нет - все действия по редактированию выполняются с панели при выделенном изображении. Да я и не помню, чтобы такая команда была. Изменить изображение появляется один раз - при вставке изображения. В дальнейшем его можно заменить или изменять свойства и параметры через панель.
Вам точно надо именно "Изменить изображение"? Какова конечная цель выполнения этой команды? Может быть можно найти другие пути решения - если знать, что именно искать.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...

Vladislav10

Я бы понял, и не такое понимали ;-D
Конечная цель - заставить emf корректно отображаться, поскольку он кропнутый (видно на картинке), а при нажатии на "Изменение рисунка" начинает корректно отображаться. Также помогает "Подобрать размер" после "Изменение рисунка". Дело не в самом изображении, а в содержимом - изменение свойств изображения не влияют. Это глюк какой-то.

Дмитрий Щербаков(The_Prist)

Цитата: Vladislav10 от 09.12.2025, 14:21:50Я бы понял, и не такое понимали
ну да, ну да :)
Тогда вопрос: а обязательно вставлять именно как мета-файл? В этом есть какой-то определенный смысл? Не пробовали вставлять как Shape, например? Вставляется не вся информация или это просто недопустимо?
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...

Яндекс.Метрика Рейтинг@Mail.ru