Anzeige
Archiv - Navigation
1224to1228
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

aus Excel Datei ppt´s aktualisieren

aus Excel Datei ppt´s aktualisieren
Jens
Guten Tag,
zu dem Thema Excel und Powerpoint gibt es eine ganz Reihe von Beiträgen aber ich habe leider nicht das gefunden was ich brauche.
Ich möchte gern aus einer Excel Tabelle mehere Powerpoint Dokumente nacheinander öffnen, die verknüpfungen aktualisieren und dann wieder schließen.
Aktuelle bin ich dabei soweit:
Private Declare

Sub Sleep Lib "kernel32.dll" ( _
ByVal dwMilliseconds As Long)
Declare 

Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, _
ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal  _
lpDirectory As String, _
ByVal lpnShowCmd As Long) As Long

Sub ppt()
Dim i As Integer, wkbQ As Workbook, wksQ As Worksheet, wksZ As Worksheet
'dann die Datei öffnen
For i = 47 To 60
Application.DisplayAlerts = False
ShellExecute 0, "open", Sheets("Schalter").Cells(i, 9), "", "", 3 'hier steht der Pfad drinn
'Verknüpfungen aktualisieren
Dim intIndex As Integer  'dient zum warten bis Aktualisierung rum ist
For intIndex = 1 To 100
Sleep 10
DoEvents
Next
' msgbox ("aktualisiert")
ShellExecute 0, "close", Sheets("Schalter").Cells(i, 9), "", "", 3
Next i
End Sub
Wenn es zudem noch möglich wäre, sollte eine warnmeldung erscheinen wenn die Excel Datei zu der Verknüpft
ist, nicht im gleichen Ordner ist wie die ppt. (aber das wäre nur das i Tüpfelchen).
Würde mich sehr freuen, wenn mir da jemand helfen könnte.
Vielen Dank
Jens

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: aus Excel Datei ppt´s aktualisieren
06.08.2011 01:24:33
fcs
Hallo Jens,
man kann die Powerpoint-Anwendung unter VBA von Excel aus direkt ansprechen und muss nicht unbedingt über die Windows-Shell PP-Dateien starten. Soweit ich feststellen konnte gibt es dann auch kein Timer-Problem.
Wenn die Aktualisierung der Links angewiesen wird, dann wartet VBA auch ab bis diese abgeschlossen ist. Wenn man die Bildschirmaktualisierung nicht deaktiviert, dann sieht man, wie die verknüpften Exceldateien kurzzeitig geöffnet werden.
VG
Franz
Option Explicit
'Erstellt unter Office 2007
'fcs 2011-08-06
Sub ppt()
'Aktualisiert die Verknüpfungen der PowerPoint-Dateien in der Liste im Tabellenblatt
Dim i As Integer, wkbQ As Workbook, wksQ As Worksheet
Dim sLink$, bDoNotQuit As Boolean
'Objektvariablen für Powerpoint-Objekte
Dim oSlide As Object, oShape As Object
Dim oPPApp As Object, oPPPraes As Object
On Error GoTo Fehler
Set wkbQ = ActiveWorkbook
Set wksQ = wkbQ.Worksheets("Schalter")
Set oPPApp = VBA.CreateObject("Powerpoint.Application")
If oPPApp.Visible = True Then bDoNotQuit = True
oPPApp.Visible = True
oPPApp.WindowState = 2 'ppWindowMinimized
wkbQ.Activate
Application.ScreenUpdating = False
For i = 47 To 60
Application.StatusBar = "Datei """ & wksQ.Cells(i, 9) & """ wird aktualisiert"
Application.DisplayAlerts = False
Set oPPPraes = oPPApp.Presentations.Open(Filename:=wksQ.Cells(i, 9))
Application.DisplayAlerts = True
oPPPraes.UpdateLinks
For Each oSlide In oPPPraes.Slides
For Each oShape In oSlide.Shapes
If oShape.Type = msoLinkedOLEObject Then
sLink = oShape.LinkFormat.SourceFullName
If UCase(Left(sLink, InStrRev(sLink, "\") - 1))  UCase(oPPPraes.Path) Then
MsgBox "In der Präsentation" & vbLf & oPPPraes.FullName & vbLf _
& "ist ein Link enhalten auf" & vbLf _
& sLink, _
vbInformation, "Verknüpfte Datei in anderem Verzeichnis als Powerpoint-Datei"
End If
End If
Next
Next
oPPPraes.Save
oPPPraes.Close
Next i
If bDoNotQuit = False Then oPPApp.Quit
Err.Clear
Fehler:
With Err
Select Case .Number
Case 0 'Alles ok
Case Else
MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description
Resume Next
End Select
End With
Application.ScreenUpdating = True
Application.StatusBar = False
Set oPPApp = Nothing: Set oPPPraes = Nothing: Set oShape = Nothing: Set oSlide = Nothing
Set wkbQ = Nothing: Set wksQ = Nothing
End Sub

Anzeige
AW: aus Excel Datei ppt´s aktualisieren
08.08.2011 11:01:08
Jens
Lieber Franz,
das ist wirklich super. Genau so habe ich mir das vorgestellt. 1000 Dank. Eine kurze Frage noch. Du schaltest ja auch die Meldungen aus die bei öffnen erscheinen, dennoch komm diese Meldung mit den Verknüpfungen wo man auf weiter oder Verknüpfungen bearbeiten klicken kann. Kann man diese noch unterdrücken, sonst muß ich da so oft drauf klicken. Das wäre super.
Danke Jens
AW: aus Excel Datei ppt´s aktualisieren
09.08.2011 07:13:25
fcs
Hallo Jens,
bei meinen Tests unter Excel 2007 bekomme ich keine Meldungen auch bei unterschiedlichen Einstellungen (manuell oder automatisch) für das Aktualisieren der Verknüpfungen in Powerpoint.
Sind in den Excel-Dateien, die mit den PP-Dateien verknüpft sind, Verknüpfungen auf andere Exceldateiein enthalten? Dann wird es schwierig - unter Excel 2007 hilft es dann ggf. die betroffenen Verzeichnissezu vertrauenswürdigen Verzeichnissen zu erklären, um die Rückfrage nach der Aktualisierung der Verknüpfungen zu unterdrücken.
Evtl. hilft es, wenn die Alarmmeldungen erst nach dem aktualisieren der Links wieder aktiviert werden.
    Application.DisplayAlerts = False
Set oPPPraes = oPPApp.Presentations.Open(Filename:=wksQ.Cells(i, 9))
oPPPraes.UpdateLinks
Application.DisplayAlerts = True

Gruß
Franz
Anzeige
AW: aus Excel Datei ppt´s aktualisieren
09.08.2011 09:19:27
Jens
Guten morgen Franz,
danke für den Hinweis, das war auch meine Idee und so funktioniert es auch. Es liegt wirklich daran das es in Excel auch nochmal Verknüpfungen gibt.
Vielen herzlichen Dank nochmals.
Jens

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige