PTV Visum - Frequently Asked Questions (FAQs)

(#VIS15643)

Ein VBA Skript, das ScriptMuuli instantiiert mit
- CreateObject('VISUM170-64.ScriptMuuli')
- CreateObject('Vision.ScriptMuuli')
oder oft implementiert als
Set muuli1 = CreateObject('VISUM' & VisumVers & bitToken & '.ScriptMuuli')
führt zur Fehlermeldung:
'Objekterstellung durch ActiveX-Komponente nicht möglich'
''ActiveX component can't create object''

Es wird dringend empfohlen, die Funktionalität des veralteten ScriptMuuli durch Matrixoperationen mit Python und der Prozedur 'Kombination von Matrizen und Vektoren' und Matrizen vom Typ Formel zu ersetzen.

Mit PTV Visum 64-Bit und VBS muss ScriptMuuli 64-Bit registriert sein.
Mit PTV Visum 32-Bit (nur bis PTV Visum 16) und VBS muss ScriptMuuli 32-Bit registriert sein.
Mit PTV Visum 32/64-Bit und Excel VBA 32-Bit muss ScriptMuuli 32-Bit registriert sein:
http://vision-traffic.ptvgroup.com/de/training-support/support/ptv-visum/faqs/visfaq/show/VIS12348/
Bei der Installation ab PTV Visum 16 wird ScriptMuuli 32-Bit standardmäßig registriert, um die häufig verwendete Kombination mit Excel VBA 32-Bit zu aktivieren.
Es kann nur eine ScriptMuuli-Version registriert werden. Ggf. müssen Sie die Windows-Registrierung überprüfen, um herauszufinden, welche.

So wird die 32-Bit-Version registriert:
Start -> CMD -> Als Administrator ausführen
regsvr32.exe 'c:\Program Files\PTV Vision\PTV Visum 16\ScriptMuuli\Win32\ScriptMuuli.dll'

So heben Sie die Registrierung der 32-Bit-Version auf:
regsvr32.exe 'c:\Program Files\PTV Vision\PTV Visum 16\ScriptMuuli\Win32\ScriptMuuli.dll' /u

So wird die 64-Bit-Version registriert:
regsvr32.exe 'c:\Program Files\PTV Vision\PTV Visum 16\ScriptMuuli\x64\ScriptMuuli.dll'


Für Visum10-Visum13:
Die Lösung hängt ab von der Visum Version, dem Betriebssystem und dessen Kombination mit einer 32- oder 64-Bit Architektur.
Die Tabelle
http://vision-traffic.ptvgroup.com/faq-files/PTV_COM_VBA_instantiating_ScriptMuuli_ActiveX_component_cant_create_object.pdf
listet alle möglichen Kombinationen auf, wenn man die Methode CreateObject (also im Konzept des Late Binding) benutzt.

Alternativ kann man die Visum.exe als referenzierte Bibliothek nutzen, um das Konzept des Early Bindung zu nutzen. Ein Beispiel:
http://vision-traffic.ptvgroup.com/faq-files/PTV_COM_VBA_instantiating_ScriptMuuli.zip