Домашняя страница Undo Do Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Графики Эксель в РР с переменным диапазоном рядов данных - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, китин  
Графики Эксель в РР с переменным диапазоном рядов данных
Паштет Дата: Среда, 20.05.2020, 13:28 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 159
Репутация: 7 ±
Замечаний: 0% ±

Excel 2010
Приветствую!
Классическая боль. Генерируется экселем порядка 40 разных графиков и диаграмм. Часть из них с переменным диапазоном рядов данных, который корректируется макросом. (К примеру, может быть ряд данных: A1:A5, а может быть C1:C10.).
При попытке привязать их к РР, со статичными рядами данных графики отображаются и обновляются как надо, а вот, где применены макросы - эти диапазоны не меняются и соответственно график выходит не верным.
Какие у меня могут быть варианты решения, чтобы автоматизировать по максимуму этот процесс?
Писать макрос по копированию этих особенных графиков из Экселя в РР? В каком направлении здесь лучше пойти?
 
Ответить
СообщениеПриветствую!
Классическая боль. Генерируется экселем порядка 40 разных графиков и диаграмм. Часть из них с переменным диапазоном рядов данных, который корректируется макросом. (К примеру, может быть ряд данных: A1:A5, а может быть C1:C10.).
При попытке привязать их к РР, со статичными рядами данных графики отображаются и обновляются как надо, а вот, где применены макросы - эти диапазоны не меняются и соответственно график выходит не верным.
Какие у меня могут быть варианты решения, чтобы автоматизировать по максимуму этот процесс?
Писать макрос по копированию этих особенных графиков из Экселя в РР? В каком направлении здесь лучше пойти?

Автор - Паштет
Дата добавления - 20.05.2020 в 13:28
Паштет Дата: Четверг, 21.05.2020, 18:45 | Сообщение № 2
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 159
Репутация: 7 ±
Замечаний: 0% ±

Excel 2010
Пошел по относительно простому пути, методом копирования самих диаграмм в презентацию, используя следующий код:
[vba]
Код
Sub OpenPP()
    Dim objPPApp As Object, objPP As Object
    Set objPPApp = CreateObject("PowerPoint.Application")
    Set objPP = objPPApp.Presentations.Open("C:\Презентация.pptm")
    Sheets("График").ChartObjects("Диаграмма 7").Copy
    
    objPPApp.ActivePresentation.Slides(2).Select
    objPPApp.ActivePresentation.Slides(2).Shapes.PasteSpecial DataType:=ppPasteOLEObject, Link:=msoFalse
    
    Sheets("График").ChartObjects("Диаграмма 5").Copy
    objPPApp.ActivePresentation.Slides(2).Shapes.PasteSpecial DataType:=ppPasteOLEObject, Link:=msoFalse, Align:=Right
    
    Set objPP = Nothing: Set objPPApp = Nothing
End Sub
[/vba]
Но как можно увидеть, мне необходимо размещать на одном слайде по две диаграммы и их как-то надо развести. Как я понял, параметры размещения должны вставляться в эту строчку:
[vba]
Код
objPPApp.ActivePresentation.Slides(2).Shapes.PasteSpecial DataType:=ppPasteOLEObject, Link:=msoFalse, Align:=Right
[/vba]В принципе меня бы устроило, если бы вторая диаграмма была бы просто внизу справа, чтобы не вымерять расстояния на глаз, но как добавляю Align:=Right или Top:=10, Left:=10 вылезает ошибка.
Подскажите пожалуйста, как тут выкрутиться можно? Без записи макроса сложновато найти самостоятельно ответ, или уже устал сегодня :(
 
Ответить
СообщениеПошел по относительно простому пути, методом копирования самих диаграмм в презентацию, используя следующий код:
[vba]
Код
Sub OpenPP()
    Dim objPPApp As Object, objPP As Object
    Set objPPApp = CreateObject("PowerPoint.Application")
    Set objPP = objPPApp.Presentations.Open("C:\Презентация.pptm")
    Sheets("График").ChartObjects("Диаграмма 7").Copy
    
    objPPApp.ActivePresentation.Slides(2).Select
    objPPApp.ActivePresentation.Slides(2).Shapes.PasteSpecial DataType:=ppPasteOLEObject, Link:=msoFalse
    
    Sheets("График").ChartObjects("Диаграмма 5").Copy
    objPPApp.ActivePresentation.Slides(2).Shapes.PasteSpecial DataType:=ppPasteOLEObject, Link:=msoFalse, Align:=Right
    
    Set objPP = Nothing: Set objPPApp = Nothing
End Sub
[/vba]
Но как можно увидеть, мне необходимо размещать на одном слайде по две диаграммы и их как-то надо развести. Как я понял, параметры размещения должны вставляться в эту строчку:
[vba]
Код
objPPApp.ActivePresentation.Slides(2).Shapes.PasteSpecial DataType:=ppPasteOLEObject, Link:=msoFalse, Align:=Right
[/vba]В принципе меня бы устроило, если бы вторая диаграмма была бы просто внизу справа, чтобы не вымерять расстояния на глаз, но как добавляю Align:=Right или Top:=10, Left:=10 вылезает ошибка.
Подскажите пожалуйста, как тут выкрутиться можно? Без записи макроса сложновато найти самостоятельно ответ, или уже устал сегодня :(

Автор - Паштет
Дата добавления - 21.05.2020 в 18:45
Паштет Дата: Пятница, 22.05.2020, 16:55 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 159
Репутация: 7 ±
Замечаний: 0% ±

Excel 2010
Решил свою проблему:
[vba]
Код
With objPPApp.ActivePresentation.Slides(2).Shapes(3)
                .Left = 250
                .Top = 272
        End With
[/vba]
 
Ответить
СообщениеРешил свою проблему:
[vba]
Код
With objPPApp.ActivePresentation.Slides(2).Shapes(3)
                .Left = 250
                .Top = 272
        End With
[/vba]

Автор - Паштет
Дата добавления - 22.05.2020 в 16:55
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!