我想從Excel中插入數據到PowerPoint表格。到目前爲止,我的代碼完成了這個功能,但是當它與一個真正的PowerPoint文件一起使用時,幻燈片中有很多項目,而我沒有正確處理。我怎樣才能瀏覽幻燈片中的項目列表,並在項目是表格後執行我的代碼?如何檢查表格的PowerPoint幻燈片項目
編輯:Office 2007的/我被要求貼上我的代碼:
Sub AktualisierePowerpointVonExcel()
Dim AnzahlZeilen As Long
Dim AnzahlSlides As Long
Dim App As Object
Dim CurrSlide As Object
Dim AktuelleIterationenFuerSlides As Long
Dim AktuelleIterationenFuerZielZeilen As Long
Dim z As Long
Dim SHP As Shape
On Error GoTo Fehler
z = 1
AnzahlZeilen = Range("A65536").End(xlUp).Row
Set App = CreateObject("PowerPoint.Application")
App.Visible = msoTrue
App.Presentations.Open "c:\Users\X\Desktop\1.pptm"
AnzahlSlides = App.ActivePresentation.Slides.Count
If (AnzahlZeilen/6) > AnzahlSlides Then
MsgBox "Zu wenig Slides für Einträge" & "Anzahl Slides:" & AnzahlSlides & "Anzahl Zeilen:" & AnzahlZeilen & "Benötigte Anzahl An Folien:" & (AnzahlZeilen/6)
Exit Sub
Else
For AktuelleIterationenFuerSlides = 1 To AnzahlSlides
Set CurrSlide = App.ActivePresentation.Slides(AktuelleIterationenFuerSlides)
For AktuelleIterationenFuerZielZeilen = 1 To 6
For Each SHP In CurrSlide.Shapes
If SHP.HasTable Then
Worksheets("Tabelle2").Cells(z, 1).Copy
SHP.Table.Cell(AktuelleIterationenFuerZielZeilen, 1).Shape.TextFrame.TextRange.Paste
Worksheets("Tabelle2").Cells(z, 2).Copy
SHP.Table.Cell(AktuelleIterationenFuerZielZeilen, 1).Shape.TextFrame.TextRange.Paste
Worksheets("Tabelle2").Cells(z, 3).Copy
SHP.Table.Cell(AktuelleIterationenFuerZielZeilen, 1).Shape.TextFrame.TextRange.Paste
z = z + 1
On Error Resume Next
End If
Next
Next
Next
End If
Fehler:
MsgBox "Fehler in Sub Fehler0" & vbCrLf & "Fehlernummer: " & Err.Number & _
vbCrLf & "Fehlerbeschreibung: " & Err.Description
End Sub
你可以添加你的代碼嗎? – fvrghl
只是爲了澄清 - 你不知道是否'.Item(1)'是你的桌子,你需要確定嗎?你的幻燈片中只有一張桌子嗎?你需要粘貼或者你只想把價值從Excel的PP表格單元格? –
@KazJaw確切地說,我只需要知道.Item(1)是否是我希望插入我的值的表格。通常只有一張桌子。如果不是,則轉到下一個項目,直到檢查所有項目。 – chrnit