VBA AddIn Verzeichnispfad korrigieren

30/01/2009 - 09:56 von Groß Michael | Report spam
Hallo,
ich habe eine Excel2003-Arbeitsmappe erstellt in der ich auch ein Add-In
verwende. Diese Vorlage habe ich auf mehrere PC's kopiert. Auf allen PC's
ist das Add-In installiert und aktiviert, allerdings in unterschiedlichen
Verzeichnissen. Wenn ich nun die Datei öffne bekomme ich die Fehlermeldung
#Name in den Feldern die auf das Add-In zugreifen. Ich muß dann hàndisch aus
diesen Zellen den Verzeichnispfad, der auf meinen Add-In-Speicherort
verweist löschen, die Vorlage nochmals auf dem jeweiligen PC speichern und
erst dann funkioniert meine Mappe tadellos.
Meine Frage ist also. Kann ich wàhrend des Ladevorganges meiner Datei eine
Überprüfung per VBA der bekannten Cellen vornehmen und den falschen
Verzeichnispfad löschen ? Wenn ja, wie.

Michael
 

Lesen sie die antworten

#1 thomas.ramel
30/01/2009 - 12:37 | Warnen spam
Grüezi Michael

On 30 Jan., 09:56, "Groß Michael" wrote:

ich habe eine Excel2003-Arbeitsmappe erstellt in der ich auch ein Add-In
verwende. Diese Vorlage habe ich auf mehrere PC's kopiert. Auf allen PC's
ist das Add-In installiert und aktiviert, allerdings in unterschiedlichen
Verzeichnissen. Wenn ich nun die Datei öffne bekomme ich die Fehlermeldung
#Name in den Feldern die auf das Add-In zugreifen. Ich muß dann hàndisch aus
diesen Zellen den Verzeichnispfad, der auf meinen Add-In-Speicherort
verweist löschen, die Vorlage nochmals auf dem jeweiligen PC speichern und
erst dann funkioniert meine Mappe tadellos.



Ja, das ist ein bekanntes Prbolem.

Meine Frage ist also. Kann ich wàhrend des Ladevorganges meiner Datei eine
Überprüfung per VBA der bekannten Cellen vornehmen und den falschen
Verzeichnispfad löschen ? Wenn ja, wie.



Binde die folgenden Zeilen in 'Diese Arbeitsmappe' in deiner Datei ein
und passe den Namen des AddIns an.

Schliesse und öffne dann die Mappe wieder und pürfe ob es nun klappt.

Private Sub Workbook_Open()
Dim aLinks, i&, res$, xla$

' Hier den Namen des AddIns angeben ...
xla = "EIGENE_ADD_INS.xla"
aLinks = Me.LinkSources(xlExcelLinks)

If Not IsEmpty(aLinks) Then
For i = 1 To UBound(aLinks)
res = Right(aLinks(i), Len(aLinks(i)) - InStrRev(aLinks
(i), "\"))
If res = xla Then
Me.ChangeLink aLinks(i), xla, xlExcelLinks
Exit For
End If
Next i
End If
End Sub

Mit freundlichen Grüssen

Thomas Ramel
- MVP für MS-Excel -

Ähnliche fragen