Страницы: 1
RSS
Установление связи между графиком в PPT и данными
 
Добрый День! Возникла такая потребность редактировать графики в PPT, но связи с данными нет. Нашел макрос, который получает данные из графиков (выбирая необходимый график), он приведен ниже. Однако проблема в том, что он копирует данные только буфер обмена. Есть ли возможность или у кого-то код, как по имеющимся данным заменить данные графики на аналогичные, но уже с привязкой к получаемым данным? Спасибо!
Код
Sub copy_series_values_to_clipboard()Dim ss As Variant, n As Long, txt As String, se, sh As Shape, ChartList As String, res
Dim mydata As DataObject
Set mydata = New DataObject

txt = "X Values" & Chr(13)
ChartList = ""
res = ""

For Each sh In ActiveWindow.Selection.SlideRange.Shapes
If sh.Type = 3 Then
ChartList = ChartList & Chr(13) & sh.Id & " " & sh.Name
If res = "" Then res = sh.Name
End If
Next sh

If ChartList = "" Then
MsgBox "no chart found"
End
End If

res = InputBox("enter the name of the shape to extract data from" & Chr(13) & Chr(13) & ChartList, "enter number", res)

chartshape = res

ss = ActiveWindow.Selection.SlideRange.Shapes(chartshape).Chart.SeriesCollection(1).XValues
For n = 1 To ActiveWindow.Selection.SlideRange.Shapes(chartshape).Chart.SeriesCollection(1).Points.Count
txt = txt & ss(n) & Chr(13)
Next n

For Each se In ActiveWindow.Selection.SlideRange.Shapes(chartshape).Chart.SeriesCollection
txt = txt & Chr(13) & se.Name & Chr(13)
ss = se.Values
For n = 1 To se.Points.Count
txt = txt & ss(n) & Chr(13)
Next n
Next se

mydata.SetText txt
mydata.PutInClipboard

MsgBox "Copied to clipboard:" & Chr(13) & txt
mydata.Clear

End Sub
Изменено: Ruslan966 - 23.08.2017 13:31:09
 
Кнопка оформления кода в сообщении - <...>
прошу исправить оформление самостоятельно
Страницы: 1
Наверх