2011-06-23 23 views
7

私はあなたが使用している場合残念ながらパワーポイント2010で静かに埋め込まれたExcelデータを編集しようとしています:編集、

gChartData.Activate 

それは、プレゼンテーション上でExcelドキュメントを開きます。 Excelを開くことなくChartDataをアクティブにする方法はありますか?

全コード:事前に

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 

感謝。

+0

なぜgChartData.Activateが必要ですか? – DontFretBrett

答えて

2

スティーブン、

Activateラインは再びExcelを閉じるのではなく、現在、トップにそれを残します(Nothingにそれを設定する前に)あなたのコードに簡単にgWorkBook.Closeを追加する基盤となるワークブックへのアクセスを取得する必要がありますがコードは行います。

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 
+3

*基礎となるワークブックへのアクセスを得るためにActivateラインが必要ですが... ...私は2年後のこの愚かで愚かな要求に対処してきました。 。 –

+0

@davidzemensが合意した。パワーポイントロジックは時々...矛盾。 – brettdj