Anzeige
Archiv - Navigation
1472to1476
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

Bibliotheken lassen sich unter Excel 2016 (32bit)

Bibliotheken lassen sich unter Excel 2016 (32bit)
10.02.2016 01:16:05
Marc
Hallo zusammen,
ich arbeite gerade an einer Programmierung die sowohl auf 2013 (64bit) als auch auf 2016 (32bit) laufen soll.
Ich programmiere auf 2013 64bit.
Ich bin durch das Einfügen einer Word-Bibliothek auf ein Problem gestoßen. Die Word 15.0 wird bei Arbeiten auf 2016 automatisch auf Word 16.0 aktualisiert und auch gespeichert. Damit gibt es bei Rückkehr auf die 15er Version sofort Fehler.
Ich habe jetzt die nötigen Befehle im Workbook_open eingefügt, um fehlerhafte Bibliotheken zu lö _
schen und durch die aktuelle Version zu ersetzen. Ich habe hier viel herum experimentiert und _
sicherlich jetzt zuviel des Guten eingefügt.

Function WordDll(Optional Zufuegen As Boolean = False)
Dim objVBE As Object
On Error Resume Next
Set objVBE = ActiveWorkbook.VBProject.References
If Zufuegen Then
objVBE.AddFromGuid "{00020905-0000-0000-C000-000000000046}", 0, 0
Else
Dim refRef As Variant
For Each refRef In objVBE
If refRef.isbroken Then
objVBE.Remove refRef
ElseIf refRef.GUID = "{00020905-0000-0000-C000-000000000046}" Then
objVBE.Remove refRef
End If
Next
End If
Set objVBE = Nothing
On Error GoTo 0
End Function

Diese Routine arbeitet bei 2013 einwandfrei bei 2016 aber nicht, ohne jegliche Fehlermeldung.
Um jetzt feststellen zu können, welche Bibliotheken überhaupt bei 2016 eingebunden sind und _
welche Guid sie haben, versuche ich noch die übliche Routine:

Private Sub ListReferencesInProject()
Dim objVBE As Object
Dim oRef As Object
Dim strTemp As String
On Error Resume Next
Set objVBE = ActiveWorkbook.VBProject.References
For Each oRef In objVBE
strTemp = "Bezeichnung: " & oRef.Description & vbCrLf
strTemp = strTemp & "Name: " & oRef.Name & vbCrLf
strTemp = strTemp & "Pfad: " & oRef.fullpath & vbCrLf
strTemp = strTemp & "GUID: " & oRef.GUID & vbCrLf
strTemp = strTemp & "Standard-Verweis: " & oRef.BuiltIn
Debug.Print strTemp & vbCrLf
Next
Set objVBE = Nothing
On Error GoTo 0
End Sub

Aber selbst diese gibt bei 2016 nichts zurück. Die Schleife wird nur ein einziges Mal durchlaufen, dabei ist dann strTemp leer...
Unter 2013 sind folgende Bibliotheken eingebunden:

Visual Basic For Applications
Microsoft Excel 15.0 Object Library
OLE Automation
Microsoft Office 15.0 Object Library

Die Liste der 2016 habe ich momentan nicht zur Hand. Bin jetzt bei mir privat.
Ehrlich gesagt kann ich das nicht verstehen.
Hat jemand ähnliches erlebt und eine Lösung gefunden?
Vielen Dank,
Marc

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bibliotheken lassen sich unter Excel 2016 (32bit)
10.02.2016 08:56:31
mumpel
Hallo!
Weshalb arbeitest Du nicht mit Late-Binding? Dann könntest Du solche Probleme umgehen.
Gruß, René

AW: Bibliotheken lassen sich unter Excel 2016 (32bit)
11.02.2016 00:45:06
Marc
Hallo mumpel,
danke für deine Antwort. Ich werde das late-binding einmal testen.
Nachteil ist natürlich, dass die Syntaxfehler nicht mehr sofort aufgefangen werden.
Ich habe aber den Fehler gefunden, so simpel, dass ich mich schäme, den Beitrag geschrieben zu haben.
Bei den Pcs, die auf 2016 eingerichtet worden sind, war im Trust Center die Option "Zugriff auf das VBA-Projektobjektmodell vertrauen" bei den Markoeinstellungen nicht angehakt.
Den obne geschrieben Code habe ich auf einige Zeilen verkürzt.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige