Страницы: 1
RSS
Открытие jpeg файлов
 
Всем привет!  
На работе очень часто сталкиваюсь с тем, что нужно отправлять множество фото-отчетов по электронной почте, а так как фотоаппарат не из худших - одно фото весит более 3х МБ, и их приходится уменьшать каждый раз вручную.  
Как я это делаю: открываю фото через Пэинт (или правой кнопкой "изменить"), потом просто сохраняю (ctrl+s) и закрываю Пэинт. После чего, размер фотографии уменьшается более чем на 70%.  
В сети доступа на установку "левого_ПО" нет, т.е. приходится ежедневно мучатся "ручным_уменьшением_размера".  
Вопрос: возможно ли упростить данную процедуру с помощью Excel-VBA?  
Заранее благодарю за полезные советы.
Киса, я хочу Вас спросить, как художник — художника: Вы рисовать умеете?
 
Разработчики VBA для Excel офигели бы, узнав, для чего люди намерены использовать их разработку :)  
 
Конечно, и через VBA можно попробовать это сделать, но зачем извращаться, когда существуют простые, удобные и бесплатные программы, предназначенные для пакетной обработки графических файлов.  
Одно нажатие кнопки - и все фотографии будут уменьшены в размерах (будет изменен dpi или глубина цвета)
 
{quote}{login=LightZ}{date=17.06.2012 11:54}{thema=Открытие jpeg файлов}{post}В сети доступа на установку "левого_ПО" нет{/post}{/quote}Спасибо, EducatedFool.  
Но, к сожалению, у нас суровые сис.админы, которые заблочили всё что могли, даже юсб-порты :(
Киса, я хочу Вас спросить, как художник — художника: Вы рисовать умеете?
 
По теме: попробуйте прогнать одну из фоток через диаграмму (подгрузить большую фотку в качестве фона диаграммы, и потом выгрузить изображение обратно в файл)  
Если эта манипуляция уменьшит размер файла - то тогда легко можно прикрутить к коду цикл, по всем файлам из заданной папки.  
 
Вам помогут следующие макросы:  
http://excelvba.ru/code/ExportPictures    
http://excelvba.ru/programmes/ExportCharts
 
Сисадмины - это не злодеи, мешающие вам работать, а люди, которым платят за то, чтобы у вас всё работало.  
 
Вместо того, чтобы их бояться, и изобретать велосипеды, обратитесь к сисадминам (или к начальству со служебной запиской) с просьбой установить ПО для пакетной обработки фото  
 
И всё - через день у вас на компе будет готовая программа, идеально подходящая для ваших нужд.
 
Не всё так просто как кажется... у нас один из самых больших холдингов Украины и из-за одного человека - сис.админы не будут ничего устанавливать, потому что попросит кто-то ещё что-то установить (для удобств работы), и пошло-поехало. Всё на высшем уровне, дали пакет ПО - значит они и руководство решили, что этого достаточно для полноценной работы.  
Хорошо хоть, что офис есть, половину "монотонной рутины" автоматизировал с помощью vba :)  
 
За ExportPictures спасибо, сейчас попробую переделать под свои нужды и потестить.  
Можно использовать Ваши коды за основу?
Киса, я хочу Вас спросить, как художник — художника: Вы рисовать умеете?
 
Работает именно так как надо, даже в разы лучше чем история с Пэинтом.  
Пример: исходное фото, размер - 6,85мб, после форматирования - 0,212мб  
Т.е. размер уменьшился на 96,91%  
Супер, спасибо! :)  
 
Чуть дописал под свои нужды (2 кнопки на форме):  
 
Private Sub CommandButton1_Click() 'выбираем файлы  
   Dim Pict As Variant  
   With Application.FileDialog(msoFileDialogFilePicker)  
       .Filters.Add "Images", "*.gif; *.jpg; *.jpeg", 1  
       .Show  
       For Each Pict In .SelectedItems  
           ActiveSheet.Pictures.Insert (Pict)  
       Next  
       MsgBox "Файлов успешно загружено: " & .SelectedItems.Count, vbInformation, "Information"  
   End With  
End Sub  
 
Private Sub CommandButton2_Click() 'удаляем все фото  
   Dim Foto As Shape  
   For Each Foto In ActiveSheet.Shapes  
       Foto.Delete  
   Next  
End Sub
Киса, я хочу Вас спросить, как художник — художника: Вы рисовать умеете?
 
Как вариант, спасибо
Киса, я хочу Вас спросить, как художник — художника: Вы рисовать умеете?
Страницы: 1
Читают тему
Наверх