Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[XL2010] Externe Excel-Links per VBA prüfen

263 views
Skip to first unread message

Jörg Eisenträger

unread,
Jan 29, 2014, 5:30:03 PM1/29/14
to
Hallo NG,

wie kann ich per VBA prüfen, ob eine Verknüpfung zu einer externen
Excel-Datei aktualisiert werden kann, um ihn dann zu löschen?

Also etwa so:

vAllLinks = ThisWorkbook.LinkSources(xlExcelLinks)

For ii = UBound(vAllLinks) To 1 Step -1
If IstKaputt(vAllLinks(ii)) Then
ThisWorkbook.BreakLink vAllLinks(ii), xlExcelLinks
End If
Next ii

Ich finde die Funktion "IstKaputt" nicht. :-(


Gruß
Jörg
--
"One of the best ways to boost your Excel efficiency is also one of the best ways to shoot yourself in the foot."
(Susan Harkins auf www.techrepublic.com/blog/10things/10-mistakes-to-avoid-when-working-with-multiple-worksheets/1961 )

Claus Busch

unread,
Jan 30, 2014, 2:02:03 AM1/30/14
to
Hallo Jörg,

Am Wed, 29 Jan 2014 23:30:03 +0100 schrieb Jörg Eisenträger:

> wie kann ich per VBA prüfen, ob eine Verknüpfung zu einer externen
> Excel-Datei aktualisiert werden kann, um ihn dann zu löschen?

du könntest das z.B. mit einer Funktion prüfen:

Function FileExists(myCell As Range) As Boolean
Dim strFile As String

strFile = Replace(myCell.Hyperlinks(1).Address, "File///", "")
FileExists = IIf(Dir(strFile) <> "", True, False)
End Function

Wenn die Hyperlnks in A sind, dann die Funktion im Blatt aufrufen mit
=FileExists(A1) und runter ziehen.


Mit freundlichen Grüßen
Claus
--
Win XP Prof SP3 / Vista Ultimate SP2
Office 2003 SP3 /2007 Ultimate SP3

Jörg Eisenträger

unread,
Jan 30, 2014, 2:38:17 PM1/30/14
to

>> wie kann ich per VBA prüfen, ob eine Verknüpfung zu einer externen
>> Excel-Datei aktualisiert werden kann, um ihn dann ggf. zu löschen?
>
>du könntest das z.B. mit einer Funktion prüfen:
>Function FileExists(myCell As Range) As Boolean

Hallo Claus,

hab das Problem wohl zu kurz beschrieben. Es geht nicht um Formeln in
Zellen, sondern vermutlich in Diagrammen. Das heißt, ich weiß nicht, wo
die Verknüpfungen stecken. Deshalb möchte ich die Menge der
ThisWorkbook.LinkSources(xlExcelLinks) durchlaufen und überprüfen. Haben
die keine Eigenschaft wie IsBroken oder so etwas ähnliches?

Claus Busch

unread,
Jan 30, 2014, 2:46:43 PM1/30/14
to
Hallo Jörg,

Am Thu, 30 Jan 2014 20:38:17 +0100 schrieb Jörg Eisenträger:

> hab das Problem wohl zu kurz beschrieben. Es geht nicht um Formeln in
> Zellen, sondern vermutlich in Diagrammen. Das heißt, ich weiß nicht, wo
> die Verknüpfungen stecken. Deshalb möchte ich die Menge der
> ThisWorkbook.LinkSources(xlExcelLinks) durchlaufen und überprüfen. Haben
> die keine Eigenschaft wie IsBroken oder so etwas ähnliches?

bei Hyperlinks musst du die Adresse oder Subadresse auf Richtigkeit
prüfen.
Ich dachte, es ginge um Hyperlinks zu Dateien, deswegen das Überprüfen
des Pfades in der Adresse.
Hast du die Hyperlinks in Zellen kannst du sie z.B. durchlaufen mit:
For Each RngZelle In Sheets("Tabelle1").Range("A1:A100")
If RngZelle.Hyperlinks.Count = 1 Then

Wenn du nicht weißt in welchem Bereich sie sind, kannst du sie
durchlaufen mit:
With ActiveSheet
For i = 1 To .Hyperlinks.Count
0 new messages