HERBERS Excel-Forum - das Archiv

Thema: Excel zu PPT activeX textbox

Excel zu PPT activeX textbox
Arne

Guten Tag.
Ich habe (mal wieder) ein Problem...
der code unten fügt mir eine Tabelle als Bild in die PPT ein, an der Stelle, wo ich sie gerne hätte, im Hide-modus. dann wird gespeichert und geschlossen. alles gut soweit...
jetzt folgendes: ich möchte gerne ein vba Textfeld einfügen lassen ( kann das auch gerne über den folienmaster schon vorher einfügen), das ansprechen und mit einem Namen versehen, um zu gucken, ob die jeweilige Tabelle bereits als bild eingefügt wurde, wenn ja soll die slide überschrieben werden. und nur wenn das eine neue Tabelle ist, soll die slide komplett neu eingefügt werden.
Problem ist jetzt: wie spreche ich ein VBA-Textfeld in PPT an? irgendwie komm ich da nicht hin...
falls jemand vorschläge hat, bin ich sehr dankbar :)

Private Sub schedulePPT()
Dim ObjPP   As Object
Dim objP    As Object   'powerpoint.Presentation
Dim objCL   As Object   'PowerPoint.CustomLayout
Dim objS    As Object   'PowerPoint.Slide
Dim str As String
Set ObjPP = CreateObject("Powerpoint.application")
On Error Resume Next
Set objP = ObjPP.presentations("beta.pptx")
If objP Is Nothing Then Set objP = ObjPP.presentations.Open("[PFAD]\[NAME]")
On Error GoTo 0
If objP Is Nothing Then
MsgBox "Datei nicht vorhanden"
Exit Sub
End If
Set objCL = objP.SlideMaster.CustomLayouts(1)
Set objS = objP.slides.AddSlide(objP.slides.Count - 3, objCL)
activepage = UserForm1.MultiPage1.Value
str = UserForm1.MultiPage1.Pages(activepage).Caption
Workbooks("schedule.xlsm").Worksheets(str).Range("A1:X29").CopyPicture
With objS.Shapes.Paste  'Powerpoint.shaperange
.Left = (objCL.Width - .Width) / 2
.Top = (objCL.Height - .Height) / 2
End With
objP.slides(objP.slides.Count - 4).SlideShowTransition.Hidden = msoTrue
ObjPP.DisplayAlerts = False
objP.Save
ObjPP.DisplayAlerts = True
ObjPP.Quit
End Sub

AW: Excel zu PPT activeX textbox
Arne

Moin. Hat sich erledigt. hab einen Workaround gefunden ohne über TextBoxen gehen zu müssen.
slides(x).name ist viel einfacher :))
danke trotzdem.

Excel zu PPT activeX textbox
Arne

Guten Tag.
Ich habe (mal wieder) ein Problem...
der code unten fügt mir eine Tabelle als Bild in die PPT ein, an der Stelle, wo ich sie gerne hätte, im Hide-modus. dann wird gespeichert und geschlossen. alles gut soweit...
jetzt folgendes: ich möchte gerne ein vba Textfeld einfügen lassen ( kann das auch gerne über den folienmaster schon vorher einfügen), das ansprechen und mit einem Namen versehen, um zu gucken, ob die jeweilige Tabelle bereits als bild eingefügt wurde, wenn ja soll die slide überschrieben werden. und nur wenn das eine neue Tabelle ist, soll die slide komplett neu eingefügt werden.
Problem ist jetzt: wie spreche ich ein VBA-Textfeld in PPT an? irgendwie komm ich da nicht hin...
falls jemand vorschläge hat, bin ich sehr dankbar :)

Private Sub schedulePPT()
Dim ObjPP   As Object
Dim objP    As Object   'powerpoint.Presentation
Dim objCL   As Object   'PowerPoint.CustomLayout
Dim objS    As Object   'PowerPoint.Slide
Dim str As String
Set ObjPP = CreateObject("Powerpoint.application")
On Error Resume Next
Set objP = ObjPP.presentations("beta.pptx")
If objP Is Nothing Then Set objP = ObjPP.presentations.Open("[PFAD]\[NAME]")
On Error GoTo 0
If objP Is Nothing Then
MsgBox "Datei nicht vorhanden"
Exit Sub
End If
Set objCL = objP.SlideMaster.CustomLayouts(1)
Set objS = objP.slides.AddSlide(objP.slides.Count - 3, objCL)
activepage = UserForm1.MultiPage1.Value
str = UserForm1.MultiPage1.Pages(activepage).Caption
Workbooks("schedule.xlsm").Worksheets(str).Range("A1:X29").CopyPicture
With objS.Shapes.Paste  'Powerpoint.shaperange
.Left = (objCL.Width - .Width) / 2
.Top = (objCL.Height - .Height) / 2
End With
objP.slides(objP.slides.Count - 4).SlideShowTransition.Hidden = msoTrue
ObjPP.DisplayAlerts = False
objP.Save
ObjPP.DisplayAlerts = True
ObjPP.Quit
End Sub

AW: Excel zu PPT activeX textbox
Arne

Moin. Hat sich erledigt. hab einen Workaround gefunden ohne über TextBoxen gehen zu müssen.
slides(x).name ist viel einfacher :))
danke trotzdem.

Dialog-Beispiele
Bewerten Sie hier bitte das Excel-Portal