Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Verknüpfungsstatus mit VBA

Betrifft: Verknüpfungsstatus mit VBA von: Salim
Geschrieben am: 11.10.2007 09:37:54


Hallo zusammen,

ich würde gerne in einem workbook_open ereignis ein Überprüfung des Verknüpfungsstatus einbauen. Normalerweise ist es ja so, dass mit dem Öffnen der Datei, eine Popup window kommt, ob man die Aktualisierung vornehmen möchte. Drückt man auf ja und passt irgendwas nicht mit der Verknüpfung, kommt auch eine Meldung dass irgendwas nicht passt. Leider ist es aber so, dass ich tendenziell dann weiter arbeite und dass mit der fehlerhaften Verknüfung vergesse. Ich hätte gerne einen Code, der überprüft, ob alle Verknüpfungen, in Ordnung sind (nach der Aktualisierung) und dann in der Zelle B7 schreibt: Aktualisiert bzw. nicht aktualisiert. Ich habe mich ein wenig umgeschaut, kam aber mit linkinfo nicht weiter.

Wäre sehr dankbar für einen Tipp! Danke und Gruss

Salim

  

Betrifft: AW: Verknüpfungsstatus mit VBA von: Tino
Geschrieben am: 11.10.2007 19:25:09

Hallo,
versuche es hiermit, muss entsprechend nur eingebaut werden.


Sub PrüfeLinks()
On Error GoTo FehlerLink:
    Application.DisplayAlerts = False
    ActiveWorkbook.UpdateLink Name:=ActiveWorkbook.LinkSources
    Application.DisplayAlerts = True
    Range("B7") = "Aktualisiert"
Exit Sub

FehlerLink:
    Application.DisplayAlerts = True
    Range("B7") = "nicht Aktualisiert"
End Sub



Gruß
Tino


  

Betrifft: AW: Verknüpfungsstatus mit VBA von: Salim
Geschrieben am: 15.10.2007 08:45:25


Herzlichen Dank!

Werde ich gleich mal ausprobieren!

Gruss

Salim


  

Betrifft: AW: Verknüpfungsstatus mit VBA von: Salim
Geschrieben am: 15.10.2007 16:13:40


Hallo Tino,

danke für dein Feedback! Dein Ansatz funktioniert prima solange die Quelldatei zu ist und die Quellen auch nicht geändert werden. Hast du für diesen beiden speziellen Fällen auch eine Idee?

Gruss

Salim


  

Betrifft: AW: Verknüpfungsstatus mit VBA von: Tino
Geschrieben am: 15.10.2007 20:57:14

Hallo,
habe noch eine Erweiterung eingebaut.


Private Declare Function PathFileExists Lib "shlwapi.dll" _
  Alias "PathFileExistsA" ( _
  ByVal pszPath As String) As Long
  
  Public Function IsFilePath(strPath As String) As Boolean
  IsFilePath = CBool(PathFileExists(strPath))
End Function
Public Sub PrüfeLinks()
Dim Pfad As String
Range("B7") = "Aktualisiert"
aLinks = ActiveWorkbook.LinkSources(xlExcelLinks)
If Not IsEmpty(aLinks) Then
    For i = 1 To UBound(aLinks)
    Pfad = aLinks(i)
        If IsFilePath(Pfad) = False Then
        Range("B7") = "nicht Aktualisiert"
        MsgBox "Es gibt diese Datei nicht " & Chr(13) & aLinks(i)
        End If
    Next i
End If

On Error GoTo FehlerLink:

    Application.DisplayAlerts = False
    ActiveWorkbook.UpdateLink Name:=ActiveWorkbook.LinkSources
    Application.DisplayAlerts = True
    Range("B7") = "Aktualisiert"
Exit Sub

FehlerLink:
    Application.DisplayAlerts = True
    Range("B7") = "nicht Aktualisiert"
End Sub



Gruß
Tino


  

Betrifft: AW: Verknüpfungsstatus mit VBA von: Salim
Geschrieben am: 16.10.2007 08:59:12


Hi Tino,

danke sehr. werde ich gleich ausprobieren.

Gruss

Salim