Verweise und late binding
09.05.2018 16:27:41
Burkhard
dank Herbers Forum und auch dank Google weiß ich nun schon einiges mehr über (Excel)Verweise und den Zusammenhang zum early bzw. late binding, aber ein paar Puzzleteile fehlen mir noch. Ich hoffe, da kann mir jemand weiterhelfen. Es geht im Prinzip um die "Rückwärtskompatibilität" mit älteren Excel-Versionen, wenn die xlsm-Datei einmal mit einer neueren Version geöffnet (und gespeichert?) wurde - ein altbekanntes Problem.
Ich gehe mal davon aus, dass es nichts bringt, Referenzen per VBA-Code zu setzen, denn die sind dann ja doch wieder versionsspezifisch - oder? Also führt wohl kein Weg am late binding vorbei. Was mir nicht klar ist: was KANN ich denn überhaupt "spät einbinden"? In der References-Auflistung stehen im Moment die folgenden Einträge:
VBA Visual Basic For Applications
C:\Program Files (x86)\Common Files\MicrosoftShared\VBA\VBA6\VBE6.DLL
Excel Microsoft Excel 12.0 Object Library
C:\Program Files (x86)\Microsoft Office\Office12\EXCEL.EXE
stdole OLE Automation
C:\Windows\SysWOW64\stdole2.tlb
Office Microsoft Office 12.0 Object Library
C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE12\MSO.DLL
MSForms Microsoft Forms 2.0 Object Library
C:\WINDOWS\SysWOW64\FM20.DLL
ADODB Microsoft ActiveX Data Objects 2.8 Library
C:\Program Files (x86)\Common Files\System\ado\msado28.tlb
VBScript_RegExp_55 Microsoft VBScript Regular Expressions 5.5
C:\WINDOWS\SysWOW64\vbscript.dll\3
Welche von diesen Verweisen kann ich denn nun wegwerfen und durch late binding ersetzen? Und wie heißen dann die Namen für das CreateObject("Name")? Und wie finde ich die Deklarationen, die ich auswechseln muss? Ich habe mal nach "NEW" gesucht, dabei aber nur RegularExpressions und MSForms gefunden ...Viele Fragen - vielen Dank schon mal für die vielen Antworten :-)!
PS Die Datei enthält mehrere UserForms. Meine Entwicklungsversion ist Office 2007.