Всем привет! Помогите, пожалуйста с кодом. Сохранить группу из диаграмм на листе в графический файл как единую картинку Знаю как сохранить одну через export, а вот когда они сгруппированы в группу еще с другими объектами не знаю.
Нет, в одном не получится. Для этого надо определять область, в которую входят все диаграммы и отрисовывать. Кода там не на один десяток строк даже не на VBA. Проще сделать картинку из диапазона(выделить все ячейки, поверх которых расположены диаграммы и использовать последний код из статьи выше). И уже эту картинку сохранять в отдельный файл.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Тут дело в том, что когда Вы группируете диаграммы в группу, то создается отдельный объект фрэйм, внутри которого и объединяются остальные объекты. Следовательно, если попробовать сохранить его - то он и сохранится, без объектов внутри него...
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Простите, но без файла-примера все это - как разговор на пальцах... Группу в картинку - для чего? куда потом? Картинка - скрин, пдф размером в А4, как вариант...
Z, предположу, что группа диаграмм в данном случае почти всегда не умещается в экран, что делает бесполезным скрин. А при изменении масштаба теряется качество картинки. PDF тоже не универсальный вариант: 1. Если диаграммы не умещаются на печатный лист - они прямо посередине режутся. 2. Они все же не как картинки сохраняются.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Еще раз приветствую! Подготовил данные. Есть файл excel, в который тянутся данные из разных источников и на основе которых я строю графики. Далее эти графики должны отображаться в PowerPoint и самое главное - это легко обновляться. Если бы это была одна диаграмма, то можно было бы легко связать её средствами самого PP. Но, во-первых, у меня комплекс диаграмм, а во-вторых, теряется качество изображения. Я попробовал через копирование через Снимок экрана (драфт макроса в книге), но качество ужасное. Сейчас самый оптимальный вариант качества, это скопировать всю группу и вставить в PP с указанием сохранения исходного форматирования.
В данном случае написание кода в PP ничем поможет, т.к. общий смысл реализации ничем не будет отличаться, кроме как тем, что при написании из PP надо будет создавать или подключаться к экземпляру Excel. У меня иных вариантов реализации нет. Пока нет.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
А про виртуальный принтер интересная идея. Надо попробовать. Еще интересный момент, что при сохранении в html в папке он создает графические объекты именно группы. Делает же он это встроенным инструментом, только каким и как до него добраться?
В целом, я пришел пока к такому решению. Сохранять книгу в формате html, где формируются графические объекты группы диаграмм. Т.к. книга у меня зафиксирована, а объекты создаются в постоянной последовательности, то их имена постоянны и я могу сделать ссылки из PP на эти объекты. Таким образом, я могу легко обновляться сохраняя желаемое качество изображений.
IFRSoff написал: объекты создаются в постоянной последовательности, то их имена постоянны и я могу сделать ссылки из PP на эти объекты
? может ещё такой вариант - (тоже сохраняет все диаграммы и графики, без всего лишнего как в случае html) ... если их размеры в файле адаптируете...
Код
'http://msoffice.nm.ru/faq/macros/chart.htm#faq134
Sub ExportAllChartsSh()
fName$ = Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 5)
iPath$ = ThisWorkbook.Path & "\\" & "Charts"
If Dir(iPath, vbDirectory) = "" Then MkDir iPath
With ThisWorkbook.ActiveSheet
For iCount& = 1 To .ChartObjects.Count
iFileName$ = iPath$ & "\\" & .Name & iCount& & ".jpg"
.ChartObjects(iCount&).Chart.Export _
FileName:=iFileName$, FilterName:="JPG"
Next
End With
End Sub
а если в PP лишь ссылка на них... (постоянная)... то размер, наверно и в PP можно задать?
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
Для меня решением ( на листе 2 диаграммы, сохраняю обе как один файл jpeg) стало группировка двух диаграмм , после этого с двумя диаграммами можно работать как с одной ..и подходит вариант описанный здесь Как сохранить картинки из листа Excel в картинки JPG для одной диаграммы