Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1752to1756
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
VBA PowerPoint Excel
20.04.2020 08:48:23
Andi
Hallo liebe VBAler!
ich bin leider wieder mal etwas am verzweifeln... Ich habe einen Code in Excel/VBA geschrieben, der eine bestehende PowerPoint Datei nehmen soll und diese in einen neuen Pfad kopieren und abspeichern soll. Anschließend sollen auch noch in einem Textfeld der Autor der PP angepasst werden auf Basis von Daten aus der Excel Tabelle.
Der Stand des aktuellen Codes (wahrscheinlich noch an einigen Stellen falsch) ist hier zu sehen:
Sub Powerpoint()
Dim PP As Powerpoint.Application
Dim pPres As Powerpoint.Presentation
Dim Folie As Powerpoint.Slide
Dim sPathDoku, Name As String
Dim Textfeld As Shape
Dim Pfad1
Dim i, Var1, Var2
'Definieren der Variablen
Pfad1 = [Pfad steht hier]
Name = [Name von Datei]
Vorlage = [Pfad steht hier]
i = ActiveCell.Row 'Abfrage, in welcher Zeile die aktuell angewählte Zelle ist
Var1 = Worksheets("T1").Cells(i, 8).Value & "\"
Var2 = Worksheets("T1").Cells(i, 7).Value
sPathDoku = Pfad1 & Var1 & Var2
'Zukünftiger Pfad für Ablagort der PowerPoint
Abfrage = sPathDoku & Name
'Hier Soll abgefragt werden, ob die Datei bereits existiert
If PP.FileExists(Abfrage) = True Then
Set PP = Nothing
'Hyperlink wird generiert und in Zelle ABi angezeigt
With Worksheets("T1")
.Hyperlinks.Add Anchor:=.Range("P" & i), Address:=sPathDoku, TextToDisplay:="Link"
Range("P" & i) = sPathDoku
End With
MsgBox "Datei bereits vorhanden"
Else
With PP
If Worksheets("T1").Cells(i, 15).Value = "Test" Then
Set PP = CreateObject("PowerPoint.Application")
PP.Visible = True
Set pPres = PP.Presentations.Open(Abfrage, untitled:=msoTrue) 'kopieren und neu  _
Speichern?!
Set Folie = ActivePresentation.Slides(2)
Set Textfeld = Folie.Shapes("Name1")   'Name der Form = Name1
a = WorksheetFunction.VLookup("N" & i, Worksheets("Tabelle2").Range("A2:B13"), 2) ' _
Muss über SVerweis gesucht werden
Textfeld.TextFrame.TextRange.Text = wks.Range(a).Text   'In das Textfeld soll der  _
durch Sverweis gefundene Wert gespeichert werden
'Powerpoint schliessen
PP.Close savechanges:=True
Set PP = Nothing
'Hyperlink wird generiert und in Zelle ABi angezeigt
With Worksheets("T1")
.Hyperlinks.Add Anchor:=.Range("P" & i), Address:=sPathDoku, TextToDisplay: _
="Link"
Range("P" & i) = sPathDoku
End With
MsgBox "Eine Kopie der PowerPoint wurde erstellt und abgespeichert."
End If
End With
End If
End Sub
Jetzt zu den Problemen:
1) Direkt beim Kompilieren erscheint die Fehlermeldung, dass "Benutzerdefinierter Typ nicht definiert" ist. Und bezieht sich dabei auf Dim PP As Powerpoint.Application
Ich habe geschaut und in Extras → Verweise ist Microsoft Office 16.0 Object Library aktiviert. Microsoft Powerpoint nicht und kann auch nicht extra/zusätzlich aktiviert werden, da es einen "konflikt mit vorhandenem Modul, Projekt oder vorhandener Objektbibliothek gibt.", so die Fehlermeldung.
If PP.FileExists(Abfrage) = True Then
2) Diese Abfrage funktioniert leider nicht. Da erscheint auch eine Fehlermeldung, dass ein Objekt erforderlich ist..
Set pPres = PP.Presentations.Open(Abfrage, untitled:=msoTrue)
3) Ich habe diesen Teil aus einer anderen Vorlage kopiert und hatte es so verstanden, dass die Vorlage kopiert und neu abgespeichert wird. Aber dafür fehlen doch irgendwie informationen. Also woher die Datei kommt bzw. wohin sie gespeichert werden soll...
Ich hoffe, dass ich die Problem verständlich erklären konnte und freue mich über jede Hilfe!
Gruß, euer
Andi

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Doppelter Beitrag - bitte löschen
20.04.2020 09:10:40
Andi
Hallo,
ich habe heute morgen beim Aktualisieren versehentlich den Beitrag nochmal gepostet. Kann ich den irgendwie löschen?
Gruß
Andi
Anzeige

43 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige