Как сохранить эксель как картинку
Сохранение диаграммы в виде изображения
Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).
Вы можете быстро скопировать диаграмму в другое приложение или сохранить ее как отдельный файл изображения.
Щелкните диаграмму, которую вы хотите сохранить как рисунок.
Выберите команду Копировать с ленты или нажмите клавишиCTRL+Cна клавиатуре.
Перейдите в приложение, в которое нужно скопировать диаграмму. Если вы сохраняете файл в отдельном файле изображения, откройте любой графический редактор, например Microsoft Paint.
Поместите курсор в то место, где вы хотите вставить диаграмму, а затем выберите команду Вставить на ленте или нажмите клавишиCTRL+Vна клавиатуре.
Если вы вставили диаграмму в графический редактор, чтобы сохранить его в виде отдельного файла изображения, используйте меню файл > сохранить, чтобы сохранить его как новый файл.
Совет: Если вы обнаружите, что на диаграмме много нежелательного пустого пространства, вы можете удалить его с помощью средства обрезки.
Выбор формата графического файла
Если вы сохраняете диаграмму как новый файл изображения, необходимо выбрать формат файла. Вот некоторые наиболее популярные варианты.
Извлечение изображения из документа Microsoft Excel
При работе с файлами Excel бывают не только случаи, когда нужно вставить изображение в документ, но и обратные ситуации, когда рисунок, наоборот, нужно извлечь из книги. Для достижения данной цели существует два способа. Каждый из них является наиболее актуальным при тех или иных обстоятельствах. Давайте подробно рассмотрим каждый из них, чтобы вы могли определить, какой из вариантов лучше применить в конкретном случае.
Извлечение картинок
Главным критерием выбора конкретного способа является тот факт, хотите ли вы вытащить одиночное изображение или произвести массовое извлечение. В первом случае можно удовлетвориться банальным копированием, а вот во втором придется применить процедуру конвертации, чтобы не терять время на извлечении каждого рисунка по отдельности.
Способ 1: копирование
Но, прежде всего, давайте все-таки рассмотрим, как произвести извлечение изображения из файла методом копирования.
-
Для того чтобы скопировать изображение, прежде всего его нужно выделить. Для этого кликаем по нему один раз левой кнопкой мыши. Затем выполняем щелчок правой кнопкой мыши по выделению, тем самым вызывая контекстное меню. В появившемся списке выбираем пункт «Копировать».
Можно также после выделения изображения перейти во вкладку «Главная». Там на ленте в блоке инструментов «Буфер обмена» щелкаем по пиктограмме «Копировать».
Существует и третий вариант, при котором после выделения нужно нажать на комбинацию клавиш Ctrl+C.
После этого запускаем любой редактор изображений. Можно, например, воспользоваться стандартной программой Paint, которая встроена в Windows. Производим вставку в эту программу любым из тех способов, которые в ней доступен. В большинстве вариантов можно воспользоваться универсальным способом и набрать комбинацию клавиш Ctrl+V. В Paint, кроме этого, можно нажать на кнопку «Вставить», расположенную на ленте в блоке инструментов «Буфер обмена».
Преимущество данного способа заключается в том, что вы сами можете выбрать формат файла, в котором сохранить картинку, из поддерживаемых вариантов выбранного редактора изображений.
Способ 2: массовое извлечение изображений
Но, конечно, если изображений больше десятка, а то и несколько сотен, и их всех нужно извлечь, то вышеуказанный способ представляется непрактичным. Для этих целей существует возможность применить конвертацию документа Excel в формат HTML. При этом все изображения автоматически будут сохранены в отдельной папке на жестком диске компьютера.
-
Открываем документ Excel, содержащий изображения. Переходим во вкладку «Файл».
В открывшемся окне щелкаем по пункту «Сохранить как», который находится в левой его части.
После этого действия запускается окно сохранения документа. Нам следует перейти в ту директорию на жестком диске, в которой желаем, чтобы разместилась папка с картинками. Поле «Имя файла» можно оставить без изменения, так как для наших целей это не важно. А вот в поле «Тип файла» следует выбрать значение «Веб-страница (*.htm; *.html)». После того, как вышеуказанные настройки произведены, щелкаем по кнопке «Сохранить».
Возможно, при этом появится диалоговое окно, в котором будет сообщаться, что файл может иметь возможности, несовместимые с форматом «Веб-страница», и при конвертации они будут утеряны. Нам следует согласиться, нажав на кнопку «OK», так как единственной целью является извлечение картинок.
После этого открываем Проводник Windows или любой другой файловый менеджер и переходим в директорию, в которой сохранили документ. В этой директории должна образоваться папка, которая содержит наименование документа. Именно в этой папке и содержатся изображения. Переходим в неё.
Вытащить картинки из файла Excel не так уж сложно, как могло показаться на первый взгляд. Это можно сделать либо путем простого копирования изображения, либо путем сохранения документа, как веб-страницы, встроенными инструментами Эксель.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Как сохранить картинки из листа Excel в картинки JPG
Получили по почте файл-прайс с изображениями товара и эти картинки нужны в отдельной папки, а не на листе? Например для загрузки на сайт. Или для других целей. Подобной команды в Excel нет. Вставить картинки можно, а вот обратно к сожалению никак. Хорошо, если картинок штук 10, а если 100? А если таких книг много? И из всех надо сохранить картинки? Решил поделиться кодами, которые могут сохранять картинки из листа Excel в папку.
Если не знаете как применять коды Visual Basic for Applications, то настоятельно рекомендую к прочтению эти статьи:
Что такое макрос и где его искать?
Что такое модуль? Какие бывают модули?
Если хотите использовать один из нижеприведенных кодов, то следует создать стандартный модуль, скопировать нужные код и вставить его в этот модуль.
Сохранение выделенной картинки в файл
Все, что потребуется это выделить объект/картинку и выполнить нижеприведенный код:
Sub Save_Sel_Object_As_Picture() Dim sName As String, oObj As Object, wsTmpSh As Worksheet If VarType(Selection) <> vbObject Then MsgBox «Выделенная область не является объектом!», vbCritical, «www.excel-vba.ru» Exit Sub End If Application.ScreenUpdating = False Application.DisplayAlerts = False Set oObj = Selection: oObj.Copy Set wsTmpSh = ThisWorkbook.Sheets.Add sName = ActiveWorkbook.FullName & «_» & ActiveSheet.Name & «_» & oObj.Name With wsTmpSh.ChartObjects.Add(0, 0, oObj.Width, oObj.Height).Chart .ChartArea.Border.LineStyle = 0 .Parent.Select .Paste .Export Filename:=sName & «.gif», FilterName:=»GIF» .Parent.Delete End With wsTmpSh.Delete Application.ScreenUpdating = True Application.DisplayAlerts = True End Sub
Если необходимо сохранить не только картинки, но и другие объекты, то необходимо в коде в строке: If oObj.Type = 13 Then изменить цифру. В коде комментариями указано, какая цифра какой тип обозначает. Так же можно изменить и расширение итогового файла с «.gif» на «.jpg». Достаточно найти расширение gif в коде(в двух местах) и заменить их на jpg. Если ни один объект не выделен, то ничего не произойдет.
Сохранение всех картинок из всех выбранных файлов Excel в папку
Sub Save_Object_As_Picture() Dim avFiles, li As Long, oObj As Object, wsSh As Worksheet, wsTmpSh As Worksheet Dim sImagesPath As String, sBookName As String, sName As String Dim wbAct As Workbook Dim IsForEachWbFolder As Boolean avFiles = Application.GetOpenFilename(«Excel Files(*.xls*),*.xls*», , «Выбрать файлы», , True) If VarType(avFiles) = vbBoolean Then Exit Sub IsForEachWbFolder = (MsgBox(«Сохранять картинки каждой книги в отдельную папку?», vbQuestion + vbYesNo, «www.excel-vba.ru») = vbYes) If Not IsForEachWbFolder Then sImagesPath = Environ(«userprofile») & «desktopimages» ‘» If Dir(sImagesPath, 16) = «» Then MkDir sImagesPath End If End If On Error Resume Next Application.ScreenUpdating = False Application.DisplayAlerts = False Set wsTmpSh = ThisWorkbook.Sheets.Add For li = LBound(avFiles) To UBound(avFiles) Set wbAct = Workbooks.Open(avFiles(li), False) ‘создаем папку для сохранения картинок If IsForEachWbFolder Then sImagesPath = wbAct.Path & «» & wbAct.Name & «_images» If Dir(sImagesPath, 16) = «» Then MkDir sImagesPath End If End If sBookName = wbAct.Name For Each wsSh In Sheets For Each oObj In wsSh.Shapes If oObj.Type = 13 Then ’13 — картинки ‘1 — автофигуры ‘3 — диаграммы oObj.Copy sName = ActiveWorkbook.Name & «_» & wsSh.Name & «_» & oObj.Name With wsTmpSh.ChartObjects.Add(0, 0, oObj.Width, oObj.Height).Chart .ChartArea.Border.LineStyle = 0 .Parent.Select .Paste .Export Filename:=sImagesPath & sName & «.jpg», FilterName:=»JPG» .Parent.Delete End With End If Next oObj Next wsSh wbAct.Close 0 Next li Set oObj = Nothing: Set wsSh = Nothing wsTmpSh.Delete Application.DisplayAlerts = True Application.ScreenUpdating = True MsgBox «Объекты сохранены», vbInformation, «www.excel-vba.ru» End Sub
Код позволяет выбрать одну или несколько книг Excel и сохраняет все картинки со всех листов выбранных книг. При запуске кода предлагается выбрать файлы Excel, картинки из которых надо сохранить. После этого появится запрос: «Сохранять картинки каждой книги в отдельную папку?»
- Да — для каждой книги будет создана своя папка images, в которую будут сохранены картинки с именами вида: ИмяКниги_ИмяЛиста_ИмяФигуры
- Нет — на рабочем столе пользователя будет создана папка images, в которую будут сохранены картинки с именами вида: ИмяКниги_ИмяЛиста_ИмяФигуры
Если необходимо сохранить не только картинки, но и другие объекты, то необходимо в коде в строке: If oObj.Type = 13 Then изменить цифру. В коде комментариями указано, какая цифра какой тип обозначает. Так же можно изменить и расширение итогового файла с «.jpg» на «.gif». Достаточно найти расширение jpg в коде(в двух местах) и заменить их на gif. В данном коде я намеренно сделал сохранение в формат jpg, чтобы можно было сравнить с предыдущим кодом и увидеть как правильно менять расширение(формат) файла.
Сохранить выделенный диапазон в картинку
Данные код сохраняет выделенный на листе диапазон в картинку.
Sub Range_to_Picture() Dim sName As String, wsTmpSh As Worksheet If TypeName(Selection) <> «Range» Then MsgBox «Выделенная область не является диапазоном!», vbCritical, «www.excel-vba.ru» Exit Sub End If Application.ScreenUpdating = False Application.DisplayAlerts = False With Selection .CopyPicture Set wsTmpSh = ThisWorkbook.Sheets.Add sName = ActiveWorkbook.FullName & «_» & ActiveSheet.Name & «_Range» With wsTmpSh.ChartObjects.Add(0, 0, .Width, .Height).Chart .ChartArea.Border.LineStyle = 0 .Parent.Select .Paste .Export Filename:=sName & «.gif», FilterName:=»GIF» .Parent.Delete End With End With wsTmpSh.Delete Application.ScreenUpdating = True Application.DisplayAlerts = True End Sub
Просто выделяем диапазон, который необходимо сохранить как картинку и запускаем код. Картинка будет сохранена в папку с активной книгой.
СОХРАНЯЕМ ВСЕ КАРТИНКИ С ЛИСТА В ПАПКУ С ЗАПИСЬЮ В ЯЧЕЙКИ ИМЕН КАРТИНОК
Код ниже сохраняет все картинки на активном листе в папку images , которая создается в папке с книгой Excel, картинки из которой сохраняются. Если папки images нет — она будет создана. Картинкам даются имена «img1», «img2», «img3» и т.д. Картинки из ячеек удаляются, а на их место записывается имя картинки. Актуально, наверное, для тех, кто из таких файлов делает потом выгрузки в интернет-магазины и пр.
Sub Save_Object_As_Picture() Dim li As Long, oObj As Shape, wsSh As Worksheet, wsTmpSh As Worksheet Dim sImagesPath As String, sName As String sImagesPath = ActiveWorkbook.Path & «images» ‘» If Dir(sImagesPath, 16) = «» Then MkDir sImagesPath End If On Error Resume Next Application.ScreenUpdating = False Application.DisplayAlerts = False Set wsSh = ActiveSheet Set wsTmpSh = ActiveWorkbook.Sheets.Add For Each oObj In wsSh.Shapes If oObj.Type = 13 Then li = li + 1 oObj.Copy sName = «img» & li With wsTmpSh.ChartObjects.Add(0, 0, oObj.Width, oObj.Height).Chart .ChartArea.Border.LineStyle = 0 .Parent.Select .Paste .Export Filename:=sImagesPath & sName & «.jpg», FilterName:=»JPG» .Parent.Delete End With oObj.TopLeftCell.Value = sName oObj.Delete ‘удаляем картинку с листа End If Next oObj Set oObj = Nothing: Set wsSh = Nothing wsTmpSh.Delete Application.DisplayAlerts = True Application.ScreenUpdating = True MsgBox «Объекты сохранены в папке: » & sImagesPath, vbInformation, «www.excel-vba.ru» End Sub
В коде все так же, как в кодах выше(можно сохранять другие объекты, можно изменить формат сохраняемых картинок). Только при этом в ячейку, в которой была картинка записывается имя, с которым эта картинка была сохранена в папку на компьютере. Сама картинка при этом удаляется. Если удалять не надо, то необходимо просто удалить строку:
oObj.Delete ‘удаляем картинку с листа
Если необходимо записать в ячейку не только имя картинки, но и полный путь(включая путь к папке и расширение картинки), то надо вместо строки:
oObj.TopLeftCell.Value = sName
записать такую:
oObj.TopLeftCell.Value = sImagesPath & sName & «.jpg»
Сохранить картинки с листа с именами картинок из ячеек
Пожалуй, самый популярный код. Он сохраняет картинки из активного листа с именами, взятыми из ячеек, в которых эти картинки расположены. При этом можно указать, чтобы имена брались из той же строки, но другого столбца:
Sub Save_Object_As_Picture_NamesFromCells() Dim li As Long, oObj As Shape, wsSh As Worksheet, wsTmpSh As Worksheet Dim sImagesPath As String, sName As String Dim lNamesCol As Long, s As String s = InputBox(«Укажите номер столбца с именами для картинок» & vbNewLine & _ «(0 — столбец в котором сама картинка)», «www.excel-vba.ru», «») If StrPtr(s) = 0 Then Exit Sub lNamesCol = Val(s) sImagesPath = ActiveWorkbook.Path & «images» ‘» If Dir(sImagesPath, 16) = «» Then MkDir sImagesPath End If ‘ On Error Resume Next Application.ScreenUpdating = False Application.DisplayAlerts = False Set wsSh = ActiveSheet Set wsTmpSh = ActiveWorkbook.Sheets.Add For Each oObj In wsSh.Shapes If oObj.Type = 13 Then oObj.Copy If lNamesCol = 0 Then sName = oObj.TopLeftCell.Value Else sName = wsSh.Cells(oObj.TopLeftCell.Row, lNamesCol).Value End If ‘если в ячейке были символы, запрещенные ‘для использования в качестве имен для файлов — удаляем sName = CheckName(sName) ‘если sName в результате пусто — даем имя unnamed_ с порядковым номером If sName = «» Then li = li + 1 sName = «unnamed_» & li End If With wsTmpSh.ChartObjects.Add(0, 0, oObj.Width, oObj.Height).Chart .ChartArea.Border.LineStyle = 0 .Parent.Select .Paste .Export Filename:=sImagesPath & sName & «.jpg», FilterName:=»JPG» .Parent.Delete End With End If Next oObj Set oObj = Nothing: Set wsSh = Nothing wsTmpSh.Delete Application.DisplayAlerts = True Application.ScreenUpdating = True MsgBox «Объекты сохранены в папке: » & sImagesPath, vbInformation, «www.excel-vba.ru» End Sub ‘————————————————————————————— ‘ Procedure : CheckName ‘ Purpose : Функция проверки правильности имени ‘————————————————————————————— Function CheckName(sName As String) Dim objRegExp As Object Dim s As String Set objRegExp = CreateObject(«VBScript.RegExp») objRegExp.Global = True: objRegExp.IgnoreCase = True objRegExp.Pattern = «[:,\,/. *, ,’,|,»»»»]» s = objRegExp.Replace(sName, «») CheckName = s End Function
Укажите номер столбца с именами для картинок — указывается порядковый номер столбца на листе, из которого брать имя для сохраняемой картинки. Например, сами картинки в столбце H, а имена для них записаны в столбце B. Надо указать 2. Тогда для картинки в ячейке H3 будет использовано имя, записанное в ячейке В3. Расширение для картинки указывать не надо(например — image1, image2, image_product_sell1 и т.п.).
Если номер не указывать или указать 0 — то имя для картинок будет взято из тех ячеек, в которых находятся эти картинки.
Так же проверяется корректность значений в ячейках, т.к. они могут содержать символы, недопустимые в именах файлов(слеши и пр.). В этом случаи эти символы будут удалены. И если после удаления этих символов значение будет пустым — имена картинкам будут даваться с префиксом «unnamed_» и порядковым номером таких картинок.
Tips_Macro_Save_Object_As_Picture.xls (76,0 KiB, 13 863 скачиваний)
Статья помогла? Поделись ссылкой с друзьями!
Поиск по меткам
Уважаемый автор! есть ли возмодность адаптировать «последний код для вытаскивания картинок с присвоением им имен ячеек» к Mac версии Office 365?
Сам я только начал интересоваться VBA и подобный марос был бы очень полезен.
Maxim, к сожалению, у меня нет возможности адаптировать код под MAC, т.к. у меня нет MACbook-а, да и разработкой под MAC не занимаюсь.
Поделитесь своим мнением
Комментарии, не имеющие отношения к комментируемой статье, могут быть удалены без уведомления и объяснения причин. Если есть вопрос по личной проблеме — добро пожаловать на Форум
Как из диаграммы Excel создать графический файл либо экспортировать ее в Word или PowerPoint
Прочитав эту статью, Вы узнаете, как в Excel создать из диаграммы отдельный графический файл (.png, .jpg, .bmp или другой формат) или экспортировать её, например, в документ Word или в презентацию PowerPoint.
Microsoft Excel – это одно из самых мощных приложений для анализа данных. В его арсенале найдётся множество инструментов и функций для визуализации этих данных. Диаграммы (или графики) – это один из таких инструментов. Чтобы создать диаграмму в Excel нужно просто выбрать данные и кликнуть иконку построения диаграммы в соответствующем разделе меню.
Но, говоря о достоинствах, нужно упомянуть и слабые стороны. К сожалению, в Excel нет простого способа сохранить диаграмму как картинку или экспортировать её в другой документ. Было бы здорово, если бы мы могли просто кликнуть правой кнопкой мыши по графику и увидеть команду вроде Сохранить как рисунок или Экспортировать. Но, раз уж корпорация Microsoft не позаботилась о создании таких функций для нас, значит мы придумаем что-нибудь самостоятельно.
В этой статье я покажу 4 способа сохранить диаграмму Excel как картинку, которую в дальнейшем можно будет вставить в другие документы Office, в том числе Word и PowerPoint, или использовать её для создания какой-нибудь привлекательной инфографики.
Копируем диаграмму в графический редактор и сохраняем как картинку
Одна моя подруга однажды поделилась со мной секретом: она обычно копирует свои диаграммы из Excel в Paint. Она создаёт диаграмму и просто нажимает клавишу PrintScreen, затем открывает Paint и вставляет снимок экрана. После этого обрезает ненужные области снимка и сохраняет оставшуюся картинку в файл. Если Вы до сих пор поступали так же, то скорее забудьте его и больше никогда не используйте этот детский способ! Мы будем действовать быстрее и разумнее!
Для примера я в своём Excel 2010 создал красивую объёмную круговую диаграмму, которая отображает данные о демографии посетителей нашего сайта, и теперь я хочу экспортировать эту диаграмму из Excel как картинку. Давайте проделаем это вместе:
- Кликните правой кнопкой мыши по области диаграммы и нажмите Копировать (Copy). Не нужно кликать мышью по самому графику, поскольку так будут выбраны отдельные элементы, а не вся диаграмма целиком, и команда Копировать (Copy) не появится.
- Откройте Paint и вставьте диаграмму при помощи иконки Вставить (Paste) на вкладке Главная (Home) и нажав Ctrl+V.
- Теперь осталось только сохранить диаграмму как графический файл. Нажмите Сохранить как (Save as) и выберите один из предложенных форматов (.png, .jpg, .bmp или .gif). Если хотите выбрать другой формат, нажмите Другие форматы (Other formats) в конце списка.
Проще не бывает! Чтобы сохранить диаграмму Excel таким способом, подойдёт любой графический редактор.
Экспортируем диаграмму из Excel в Word или в PowerPoint
Если нужно экспортировать диаграмму из Excel в какое-либо другое приложение пакета Office, например, в Word, PowerPoint или Outlook, то лучше всего сделать это через буфер обмена.
- Скопируйте диаграмму из Excel, как в предыдущем примере на Шаге 1.
- Кликните в документе Word или в презентации PowerPoint в том месте, куда нужно вставить диаграмму, и нажмите Ctrl+V. Либо вместо нажатия Ctrl+V, щёлкните правой кнопкой мыши в любом месте документа, и перед Вами откроется целый набор дополнительных параметров в разделе Параметры вставки (Paste options).
Главное преимущество такого способа в том, что таким образом в другой файл экспортируется полнофункциональная диаграмма Excel, а не просто рисунок. График сохранит связь с исходным листом Excel и будет автоматически обновляться при изменении данных на этом листе Excel. А значит, не придётся заново копировать и вставлять диаграмму при каждом изменении использованных для её построения данных.
Сохраняем диаграмму в Word и PowerPoint как картинку
В приложениях Office 2007, 2010 и 2013 диаграмму Excel можно скопировать как картинку. При этом она будет вести себя как обычная картинка и не будет обновляться. Для примера давайте экспортируем диаграмму Excel в документ Word 2010.
- В рабочей книге Excel скопируйте диаграмму, затем откройте документ Word, поместите курсор в то место, куда нужно вставить график, и нажмите маленькую чёрную стрелочку внизу кнопки Вставить (Paste), которая расположена на вкладке Главная (Home).
- В открывшемся меню нас интересует пункт Специальная вставка (Paste Special) – он обозначен стрелкой на снимке экрана выше. Кликните по нему – откроется одноименное диалоговое окно с перечнем доступных графических форматов, в том числе Bitmap (точечный рисунок), GIF, PNG и JPEG.
- Выберите нужный формат и нажмите ОК.
Скорее всего, инструмент Специальная вставка (Paste Special) доступен и в более ранних версиях Office, но в те времена я им не пользовался, поэтому утверждать не буду
Сохраняем все диаграммы рабочей книги Excel как картинки
Способы, которые мы только что обсудили, будут удобны, когда речь идёт о небольшом количестве диаграмм. Но что если Вам нужно скопировать все диаграммы из рабочей книги Excel? Если копировать и вставлять каждую из них по-отдельности, то на это может уйти довольно много времени. Спешу Вас обрадовать – этого делать не придётся! Есть способ сохранить все диаграммы из рабочей книги Excel разом.
- Когда завершите создание диаграмм в книге, откройте вкладку Файл (File) и нажмите кнопку Сохранить как (Save as).
- Появится диалоговое окно Сохранение документа (Save as). В выпадающем списке Тип файла (Save as type) выберите Веб-страница (Web page, *.htm, *.html). Проверьте также, что в разделе Сохранить (Save) выбран параметр Всю Книгу (Entire Workbook), как это показано на снимке экрана ниже:
- Выберите папку для сохранения файлов и нажмите кнопку Сохранить (Save).
В выбранную папку вместе с файлами .html будут скопированы все диаграммы, содержащиеся в книге Excel в виде файлов .png. Ниже на снимке экрана показано содержимое папки, в которую я сохранил свою рабочую книгу. Моя книга Excel состоит из трёх листов с диаграммой на каждом – и в выбранной мной папке мы видим три диаграммы, сохранённые как графические файлы .png.
Как известно, PNG – это один из лучших форматов сжатия изображений, в котором не происходит потери качества. Если Вы предпочитаете использовать другие форматы для картинок, то преобразовать их в .jpg, .gif, .bmp или любой другой не составит труда.
Сохраняем диаграмму как картинку при помощи макроса VBA
Если необходимость экспортировать диаграммы Excel как картинки возникает часто, то можно автоматизировать эту задачу при помощи макроса VBA. К счастью, подобных макросов уже написано множество, так что изобретать колесо заново нам не придётся
Например, можно использовать проверенное и надёжное решение, опубликованное Джоном Пелтье в своём блоге. Его макрос очень прост:
ActiveChart.Export «D:My ChartsSpecialChart.png»
Эта строка кода создаёт в заданной папке графический файл .png и экспортирует в него диаграмму. Вы сможете создать свой первый макрос прямо сейчас за 4 простых шага, даже если не делали этого никогда в жизни.
Перед тем как приступить к написанию макроса, подготовьте папку для экспорта диаграммы. В нашем случае это будет папка My Charts на диске D. Итак, все приготовления завершены, давайте займёмся макросом.
- В своей рабочей книге Excel откройте вкладку Разработчик (Developer) и в разделе Код (Code) нажмите иконку Макросы (Macros).
Замечание: Если Вы будете создавать макрос впервые, то, скорее всего, вкладка Разработчик (Developer) будет скрыта. В таком случае перейдите на вкладку Файл (File), кликните Параметры (Options) и откройте раздел Настроить ленту (Customize Ribbon). В правой части окна, в списке Основные вкладки (Main Tabs) поставьте галочку рядом с Разработчик (Developer) и нажмите ОК.
- Дайте название новому макросу, например, SaveSelectedChartAsImage, и сделайте его доступным только для данной рабочей книги.
- Нажмите кнопку Создать (Create), при этом откроется окно редактора Visual Basic, в котором уже будут обозначены начало и конец нового макроса. Во вторую строку скопируйте вот такой текст макроса:
ActiveChart.Export «D:My ChartsSpecialChart.png»
Теперь давайте запустим только что созданный макрос, чтобы увидеть, как он работает. Постойте минутку… Мы должны сделать ещё кое-что. Нужно выбрать диаграмму Excel, которую будем экспортировать, поскольку наш макрос работает только с выделенной диаграммой. Кликните по краю диаграммы в любом месте. Светло-серая рамка, появившаяся вокруг диаграммы, будет сигнализировать о том, что она выделена полностью.
Снова откройте вкладку Разработчик (Developer) и кликните иконку Макросы (Macros). Откроется список макросов, доступных в Вашей рабочей книге. Выделите SaveSelectedChartAsImage и нажмите кнопку Выполнить (Run).
Теперь откройте папку, которую указали для сохранения файла – там должна быть картинка .png с экспортированной диаграммой. Таким же образом можно сохранять диаграммы в другом формате. Для этого достаточно в макросе изменить .png на .jpg или .gif – вот так:
ActiveChart.Export «D:My ChartsSpecialChart.jpg»
На сегодня всё, и, надеюсь, читая эту статью, Вы провели время с пользой. Благодарю за внимание!
Microsoft Excel
трюки • приёмы • решения
Как в Excel сохранить диаграмму в виде графического файла или картинки
Как ни странно, Excel не предоставляет возможности напрямую преобразовывать диаграммы в автономные графические файлы, например формата GIF или PNG. В этой статье я представлю три метода сохранения диаграмм Excel в виде графических файлов (один из методов использует макросы VBA).
Метод 1. Вставка диаграммы в графическую программу
Этот метод предполагает использование стороннего программного обеспечения, а именно графического редактора. Выберите диаграмму, выполните команду Главная ► Буфер обмена ► Копировать (или нажмите Ctrl+C). Затем получите доступ к документу в вашем графическом редакторе, выбрав команду Правка ► Вставить (или ее эквивалент). Теперь вы можете сохранить файл в любом поддерживаемом программой графическом формате.
Вам, возможно, придется поэкспериментировать, чтобы добиться оптимальных результатов. Например, может понадобиться скопировать диаграмму как рисунок. Для этого выберите диаграмму, а затем выполните команду Главная ► Буфер обмена ► Копировать ► Копировать как рисунок. Если у вас нет графического редактора, попробуйте IrfanView, доступный для скачивания бесплатно на сайте http://irfanview.com.
Метод 2. Сохранение в качестве файла HTML
Для преобразования всех диаграмм книги в файлы PNG сохраните книгу в формате HTML, а затем найдите созданные файлы PNG. Выполните следующие действия.
- Сохраните книгу.
- Выберите Файл ► Сохранить как.
- В диалоговом окне Сохранение документа в списке Тип файла выберите Веб-страница (*.htm, *.html).
- Установите переключатель Сохранить в положение всю книгу.
- Выберите расположение для файла. Хорошим вариантом будет выбор Рабочего стола, потому что к нему всегда легко получить доступ.
- Укажите имя файла и нажмите кнопку Сохранить.
- Закройте книгу.
- Откройте окно Проводника и найдите папку, в которую вы сохранили файл.
- В дополнение к файлу HTML вы найдете подкаталог, имя которого соответствует имени файла. Откройте его для просмотра файлов PNG, соответствующих каждой диаграмме в книге.
В первую очередь сохраните книгу в обычном формате Excel. HTML-версию вашей книги следует рассматривать как временную версию книги. Хотя вы можете открыть HTML-файл в Excel, этот формат не позволяет сохранять ключевую информацию, например формулы.
Метод 3. Использование макросов VBA
Этот метод использует простой макрос VBA, который сохраняет каждую диаграмму активного листа в формате GIF.
Перед созданием макроса сохраните книгу. Затем нажмите Alt+F11, чтобы запустить Visual Basic. Найдите свою книгу в окне Projects и выберите команду Insert ► Module для вставки нового модуля VBA. Затем введите в модуль следующую процедуру:
Sub SaveChartsAsGIF() Dim ChtObj As ChartObject Dim Fname As String For Each ChtObj In ActiveSheet.ChartObject Fname = ThisWorkbook.Path & «» & ChtObj.Name & «.gif» ChtObj.Chart.Export Filename:=Fname. FilterName:=»gif» Next ChtObj End Sub
После того как макрос введен, нажмите Alt+F11, чтобы снова перейти к Excel. Затем активизируйте лист, который содержит ваши диаграммы. Нажмите Alt+F8, чтобы открыть диалоговое окно Макрос. Выберите макрос SaveChartGIF и нажмите кнопку Выполнить. Процедура сохраняет каждую диаграмму в активном листе в виде GIF-файла (название диаграммы используется в качестве имени файла). Файлы хранятся в одной папке с книгой.