Я хочу вставить данные из excel в таблицу powerpoint. Пока мой код выполняет эту функцию, но когда он используется с реальным файлом powerpoint, в слайде есть много элементов, и я не адресую правильный. Как я могу просмотреть список элементов в слайде и выполнить мой код, как только этот элемент является таблицей?Как проверить позиции слайда PowerPoint для таблицы
Edit: 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)' вашей таблицей, и вы должны быть уверены? есть ли в вашем слайде только одна таблица? вам нужно вставить или вы хотите просто поместить значение в ячейку таблицы PP из Excel? –
@KazJaw Точно, мне просто нужно знать, если .Item (1) - это таблица, где я хочу вставить мои значения. обычно есть только одна таблица. А если нет, перейдите к следующему элементу, пока не будут проверены все элементы. – chrnit