0

Excel-Data-Sheet を Reporting-Powerpoint-Presentation に接続するマクロを作成したいと考えています。この名前付き範囲 ("A") を選択してコピーしました。次に、範囲 (「A」) と同じ名前の Powerpoint の図形にデータを貼り付けます。

Sub SyncWithPPT()

Dim pptApp As PowerPoint.Application
Dim pptPres As PowerPoint.Presentation
Dim pptShape As PowerPoint.Shape

Set pptApp = New PowerPoint.Application
pptApp.Visible = msoTrue
Set pptPres = pptApp.presentations.Open("workingPath")

ActiveWorkbook.Names("A").RefersToRange.Select
Selection.Copy
Set pptShape = pptPres.Slides("anySlide").Shapes("A")
pptShape.Table.cell(1, 1).Shape.TextFrame.TextRange.Paste 'Here it won't paste correctly

End Sub

貼り付けを除いて、すべてが正常に機能します。選択範囲を貼り付けると、すべてがセル (1, 1) に貼り付けられます。
しかし、各セルを別のセルにコピーしたい。STRG + V で貼り付けたときと同じように。

どんな助けでも本当にありがたいです。

4

2 に答える 2

1

これは私にとってはうまくいきました(Office 2007)...

Sub Tester()

    Dim ppt, sld

    'presentation is already open...
    Set ppt = GetObject(, "powerpoint.application")
    Set sld = ppt.activepresentation.slides(1)

    ActiveSheet.Range("A1:B2").Copy

    sld.Shapes(1).Table.Cell(1, 1).Select
    ppt.ActiveWindow.View.Paste

    Set sld = Nothing
    Set ppt = Nothing

End Sub
于 2012-08-29T22:39:12.220 に答える
0
'this is how to extract each cell information
'assuming that ppt communication is already done.

Dim n As Integer, j As Integer
Dim ultimaFila As Long    

j = 1 'columna
ultimaFila = Range("A65536").End(xlUp).Row

For n = 1 To ultimaFila

   pptShape.Table.cell(n, j).Value = Application.Workbooks("Book1").Worksheets("Sheet1").Cells(n, j).Value        


Next n

End Sub
于 2012-08-30T00:21:08.670 に答える