Live-Forum - Die aktuellen Beiträge
Datum
Titel
23.04.2024 14:59:21
23.04.2024 14:47:39
23.04.2024 14:23:45
Anzeige
Archiv - Navigation
1648to1652
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
Inhaltsverzeichnis

Verknüpfung ändern Diagramm ppt VBA Makro Excel

Verknüpfung ändern Diagramm ppt VBA Makro Excel
10.10.2018 12:59:54
Pete
Hallo liebe Community,
ich habe den untenstehenden Code (der auch funktioniert) und folgendes Problem.
Ich öffne mit dem Code eine Powerpoint in der die verknüpften Diagramme aktualisiert werden. Nun meine Frage: Wie kann ich vor der Aktualisierung den Verknüpfungspfad aller in der Powerpoint enthaltenen Diagramme auf die Excel-Datei, aus der die Powerpoint gestartet wird, ändern?
Vielen Dank vorab für eure Hilfe. Ich habe im Internet leider nix passendes gefunden bzw. war nicht in der Lage den Code zum laufen zu bringen.
Private Sub Powerpointerstellen()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
'Auswahl der PowerPoint Vorlage
Dim strFileToOpen As String
strFileToOpen = Application.GetOpenFilename _
(Title:="PowerPointVorlage auswählen", _
FileFilter:="PowerPoint Files *.pptx* (*.pptx*),")
'Öffnen der Powerpoint Vorlage
Dim Powerpoint As Object
Set Powerpoint = CreateObject("Powerpoint.Application")
Powerpoint.Visible = True
Powerpoint.Presentations.Open (strFileToOpen)
Dim pfad As String
Dim strFile As String
strFile = Dir(strFileToOpen)
pfad = ActiveWorkbook.Path
'Verknüpfungen aktualisieren
Powerpoint.Presentations(strFile).UpdateLinks
'Teilnehmerzahl eintragen
Powerpoint.Presentations(strFile).Slides(3).Shapes("Rectangle 55").TextFrame.TextRange. _
Characters.Text = ThisWorkbook.Sheets(1).Range("B18")
Powerpoint.Presentations(strFile).Slides(11).Shapes("Rechteck 50").TextFrame.TextRange. _
Characters.Text = ThisWorkbook.Sheets(3).Range("A20")
Powerpoint.Presentations(strFile).Slides(11).Shapes("Rechteck 47").TextFrame.TextRange. _
Characters.Text = ThisWorkbook.Sheets(3).Range("A21")
Powerpoint.Presentations(strFile).Slides(11).Shapes("Rechteck 48").TextFrame.TextRange. _
Characters.Text = ThisWorkbook.Sheets(3).Range("A22")
Powerpoint.Presentations(strFile).Slides(11).Shapes("Rechteck 49").TextFrame.TextRange. _
Characters.Text = ThisWorkbook.Sheets(4).Range("A20")
Powerpoint.Presentations(strFile).Slides(11).Shapes("Rechteck 51").TextFrame.TextRange. _
Characters.Text = ThisWorkbook.Sheets(4).Range("A21")
Powerpoint.Presentations(strFile).Slides(11).Shapes("Rechteck 52").TextFrame.TextRange. _
Characters.Text = ThisWorkbook.Sheets(4).Range("A22")
Powerpoint.Presentations(strFile).Slides(11).Shapes("Rechteck 54").TextFrame.TextRange. _
Characters.Text = ThisWorkbook.Sheets(6).Range("A20")
Powerpoint.Presentations(strFile).Slides(11).Shapes("Rechteck 55").TextFrame.TextRange. _
Characters.Text = ThisWorkbook.Sheets(6).Range("A21")
Powerpoint.Presentations(strFile).Slides(11).Shapes("Rechteck 56").TextFrame.TextRange. _
Characters.Text = ThisWorkbook.Sheets(6).Range("A22")
'ppt schließen und abspeichern
name_pp_datei = pfad & "\" & Format(Date, "YYYYMMDD") & "_" & "Auswertung_Umfrage" & ".pptx"
With Powerpoint
.ActivePresentation.SaveAs name_pp_datei
.ActivePresentation.Close
End With
Powerpoint.Quit
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Verknüpfung ändern Diagramm ppt VBA Makro Excel
10.10.2018 15:15:31
Pete
Hab die Lösung gefunden.
Private Sub CommandButton5_Click()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
'Auswahl der PowerPoint Vorlage
Dim strFileToOpen As String
strFileToOpen = Application.GetOpenFilename _
(Title:="PowerPointVorlage auswählen", _
FileFilter:="PowerPoint Files *.pptx* (*.pptx*),")
'Öffnen der Powerpoint Vorlage
Dim Powerpoint As Object
Set Powerpoint = CreateObject("Powerpoint.Application")
Powerpoint.Visible = True
Powerpoint.Presentations.Open (strFileToOpen)
Dim pfad As String
Dim strFile As String
Dim oldFilePath As String
Dim newFilePath As String
Dim pptSlide As Object
Dim pptShape As Object
strFile = Dir(strFileToOpen)
pfad = ActiveWorkbook.Path
oldFilePath = "HIER DEN ZU ÄNDERNDEN PFAD EINGEBEN"
newFilePath = pfad & "HIER DEN DATEINAMEN + DATEITYP EINGEBEN"
'Loop through each slide
For Each pptSlide In Powerpoint.Presentations(strFile).Slides
'Loop through each shape in each slide
For Each pptShape In pptSlide.Shapes
If pptShape.Type = msoLinkedPicture Or pptShape.Type _
= msoLinkedOLEObject Then
'Use Replace to change the oldFilePath to the newFilePath
pptShape.LinkFormat.SourceFullName = Replace(LCase _
(pptShape.LinkFormat.SourceFullName), LCase(oldFilePath), newFilePath)
End If
Next
Next
'Verknüpfungen aktualisieren
Powerpoint.Presentations(strFile).UpdateLinks
'Teilnehmerzahl eintragen
Powerpoint.Presentations(strFile).Slides(3).Shapes("Rectangle 55").TextFrame.TextRange. _
Characters.Text = ThisWorkbook.Sheets(1).Range("B18")
Powerpoint.Presentations(strFile).Slides(11).Shapes("Rechteck 50").TextFrame.TextRange. _
Characters.Text = ThisWorkbook.Sheets(3).Range("A20")
Powerpoint.Presentations(strFile).Slides(11).Shapes("Rechteck 47").TextFrame.TextRange. _
Characters.Text = ThisWorkbook.Sheets(3).Range("A21")
Powerpoint.Presentations(strFile).Slides(11).Shapes("Rechteck 48").TextFrame.TextRange. _
Characters.Text = ThisWorkbook.Sheets(3).Range("A22")
Powerpoint.Presentations(strFile).Slides(11).Shapes("Rechteck 49").TextFrame.TextRange. _
Characters.Text = ThisWorkbook.Sheets(4).Range("A20")
Powerpoint.Presentations(strFile).Slides(11).Shapes("Rechteck 51").TextFrame.TextRange. _
Characters.Text = ThisWorkbook.Sheets(4).Range("A21")
Powerpoint.Presentations(strFile).Slides(11).Shapes("Rechteck 52").TextFrame.TextRange. _
Characters.Text = ThisWorkbook.Sheets(4).Range("A22")
Powerpoint.Presentations(strFile).Slides(11).Shapes("Rechteck 54").TextFrame.TextRange. _
Characters.Text = ThisWorkbook.Sheets(6).Range("A20")
Powerpoint.Presentations(strFile).Slides(11).Shapes("Rechteck 55").TextFrame.TextRange. _
Characters.Text = ThisWorkbook.Sheets(6).Range("A21")
Powerpoint.Presentations(strFile).Slides(11).Shapes("Rechteck 56").TextFrame.TextRange. _
Characters.Text = ThisWorkbook.Sheets(6).Range("A22")
'ppt schließen und abspeichern
name_pp_datei = pfad & "\" & Format(Date, "YYYYMMDD") & "_" & "Auswertung_Umfrage" & ".pptx"
With Powerpoint
.ActivePresentation.SaveAs name_pp_datei
.ActivePresentation.Close
End With
Powerpoint.Quit
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub

Anzeige

34 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige