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

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

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.02.2014, 07:07   #11
jorevo
Новичок
Джуниор
 
Регистрация: 26.02.2014
Сообщений: 1
По умолчанию

Цитата:
Сообщение от Казанский Посмотреть сообщение
Код:
            .ChartArea.Width = sh.Width
            .ChartArea.Height = sh.Height
Ругается на это 400-ой ошибкой... типа форма уже создана что ли... И да - вот ещё какой момент не понятен. В текущей реализации картинки сохраняются в том размере, в котором они масштабированы в ексель файле. Есть какая то возможность вытянуть их в оригинальном размере?
jorevo вне форума Ответить с цитированием
Старый 26.02.2014, 09:20   #12
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
Есть какая то возможность вытянуть их в оригинальном размере?
Увы, нет.
В файле Excel не сохраняется информация о исходном размере картинок.
Т.е. мы видим, что картинка «качественная» (можно увеличить размер - качество не станет хуже) - но узнать, во сколько раз картинка была крупнее изначано, увы, никак.


Если нужен макрос, выгружающий картинки в формате JPG в любой версии Excel:
http://excelvba.ru/programmes/PastePictures
(в меню есть пункт Изображения - Сохранить картинки в файлы)

Проблема макроса с ChartArea - он на разных версиях Excel по-разному выгружает картинку (добавляя белые полоски, в зависимости от версии Excel)

А макрос на базе CopyEnhMetaFile (из второго поста) - на выходе дает файл формата EMF (а не JPG)
Это обычно не критично, - но, если нужен именно JPG, - тогда используйте мой вариант из надстройки PastePictures
EducatedFool вне форума Ответить с цитированием
Старый 07.07.2018, 00:32   #13
alf2006x
Новичок
Джуниор
 
Регистрация: 21.06.2010
Сообщений: 2
По умолчанию

Всем доброго дня.

Помогите, пожалуйста, у меня практически такая же задача.
Делаю всё как в инструкции от SAS888, но чё-то никак не взлетает

Задача следующая: я из под Excel-я запускаю Word, в нем открываю файл из которого пытаюсь достать все картинки и сохранить их на локальный диск.

Ругается на строку: sh.CopyPicture ...
Пишет что: Object doesn't support this property or method

Делаю так:
Код:
Set WordApp = CreateObject("Word.Application")
    WordApp.Visible = True
    Set wdDoc = WordApp.Documents.Open("c:\MyDocument.docx")
        For Each sh In wdDoc.Shapes
            sh.CopyPicture: OpenClipboard (0&): n = GetClipboardData(14)
            CopyEnhMetaFile n, "c:\" & "picture" & n & ".jpg": CloseClipboard
        Next sh
Заранее спасибо.

Последний раз редактировалось alf2006x; 07.07.2018 в 00:34.
alf2006x вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вытащить текст из ячейки Tirendus Microsoft Office Excel 18 29.01.2012 19:51
как вытащить картинку из BLOB поля Dania SQL, базы данных 0 25.03.2010 12:44
Вытащить из ячейки только Фамилию buk Microsoft Office Access 3 10.10.2009 10:46
Как вытащить только часть символов из ячейки? Berkley Microsoft Office Excel 5 22.12.2006 00:43