Beiträge: 1.437
Themen: 11
Danke erhalten: 273 in 232 Posts
Danke gesagt: 26
Registriert seit: 24.03.2012
norre schrieb:kanns vielleicht an 32bit / 64 bit liegen
kann sein. Es könnte aber auch sein, dass die Bibliothek, die hinzugefügt werden soll schon vorhanden ist.
in dem Fall kann man dem Modul eine Funktion hinzufügen die das prüft:
Code:
Function BibVorhanden(pfad) As SymbolLibrary
Dim Bib As SymbolLibrary
For Each Bib In SymbolLibraries
If pfad = Bib.FilePath Then
Set BibVorhanden = Bib
End If
Next
End Function
und man muss das hinzufügen natürlich bedingt machen:
Code:
Set BiliothekNeu = BibVorhanden(NeuerPfad)
If BiliothekNeu Is Nothing Then
Set BiliothekNeu = SymbolLibraries.Add(NeuerPfad)
End If
Das kannst Du ja mal versuchen, Helmut. Vielleicht ist es das schon.
Gruß
Koter
•
Beiträge: 11
Themen: 3
Danke erhalten: 0 in 0 Posts
Danke gesagt: 0
Registriert seit: 19.08.2015
[SIZE="4]Das wars![/SIZE]
Geniale Lösung.
Vielen Dank an alle die geantwortet haben. Wirklich ein sehr hilfreiches Forum.
Viele Grüße
Helmut
•
Beiträge: 1.437
Themen: 11
Danke erhalten: 273 in 232 Posts
Danke gesagt: 26
Registriert seit: 24.03.2012
Hallo Helmut,
kleiner Nachtrag:
Das Makro war so angelegt, dass es am Symbolmanager nichts ändert, also keine Bibliotheken nach der Ausführung geladen sind, die es vorher nicht waren.
In der letzten Zeile der Sub „SymbolTausch“ wird deshalb die temporär geladene Bibliothek gelöscht. Nach der Änderung, nach der nun auch schon geladene Bibliotheken verwendet werden, löscht dieser Befehl auch diese. Das soll ja eigentlich nicht sein, deshalb würde ich den Befehl bedingt machen. z.B. eine Boolsche Variable setzen und diese als Bedingung verwenden:
Code:
If BiliothekNeu Is Nothing Then
Set BiliothekNeu = SymbolLibraries.Add(NeuerPfad)
löschen = True
End If
letzte Zeile:
Code:
If löschen Then BiliothekNeu.Delete
Gruß
Koter
•