Автоматическое редактирование встроенных данных Excel в PowerPoint 2010

Я пытаюсь автоматически редактировать встроенные данные Excel в PowerPoint 2010. К сожалению, когда вы используете:

gChartData.Activate

Он открывает документ Excel поверх презентации. Есть ли способ активировать ChartData, не открывая Excel?

Полный код:

Private Sub CommandButton1_Click()

Dim myChart As Chart
Dim gChartData As ChartData
Dim gWorkBook As Excel.Workbook
Dim gWorkSheet As Excel.Worksheet

Set myChart = ActivePresentation.Slides(1).Shapes(1).Chart
Set gChartData = myChart.ChartData

gChartData.Activate

Set gWorkBook = gChartData.Workbook

Set gWorkSheet = gWorkBook.Worksheets(1)

gWorkSheet.Range("B2").Value = 1

Set gWorkSheet = Nothing
Set gWorkBook = Nothing
Set gChartData = Nothing
Set myChart = Nothing


End Sub

Заранее спасибо.


person Steven    schedule 23.06.2011    source источник
comment
Зачем вам нужен gChartData.Activate?   -  person DontFretBrett    schedule 15.11.2011


Ответы (1)


Стивен,

Хотя строка Activate необходима для доступа к базовой книге, добавление простого gWorkBook.Close к вашему коду (до того, как установить для него значение Nothing) снова закроет Excel, а не оставит его сверху, как это делает ваш текущий код.

Private Sub CommandButton1_Click()

    Dim myChart As Chart
    Dim myChartData As ChartData
    Dim gWorkBook As Excel.Workbook
    Dim gWorkSheet As Excel.Worksheet

    Set myChart = ActivePresentation.Slides(1).Shapes(1).Chart
    Set myChartData = myChart.ChartData
    myChartData.Activate

    Set gWorkBook = myChart.ChartData.Workbook
    Set gWorkSheet = gWorkBook.Worksheets(1)
    gWorkSheet.Range("B2").Value = 1

    gWorkBook.Close
    Set gWorkSheet = Nothing
    Set gWorkBook = Nothing
    Set gChartData = Nothing
    Set myChart = Nothing
End Sub
person brettdj    schedule 01.01.2012
comment
Несмотря на то, что строка Activate необходима для получения доступа к основной рабочей книге... Я имею дело с этим глупым, глупым требованием уже почти 2 года, я до сих пор не могу поверить, что они требуют этого... - person David Zemens; 29.05.2014
comment
@davidzemens согласился. Логика PowerPoint временами... Оксюморон. - person brettdj; 29.05.2014