Мне кажется, что компоненты activeX часто плохо документированы, и если вы не можете получить работу, вам нужен метод, который обходит документацию и напрямую переходит к тому, что вы действительно получили на вашем компьютере.
я имел документы, что сказал что-то вроде:
Set library = CreateObject("somethinglibLib.SomethingLibrary.2")
будет работать, это не ... где сейчас?
Я обнаружил, что «somethinglibLib.SomethingLibrary.2» должен существовать в реестре в ключе ProgID, если он не будет работать с вашим CreateObject.
Я не буду распространять случаи, когда вы не зарегистрировали компонент activeX, как это описано в другом месте.
Но если вы будете искать в реестре части имени объекта, которого вы ищете, вы можете найти, как я сделал ProgId содержащий
«somethinglib.SomethingSite.1»
зная, что это я нашел
Set library = CreateObject("somethinglib.SomethingSite.1")
работал
Теперь мой пример частично из-за версии я установил, не соответствующей документации, но, надеюсь, эта техника может помочь другим.
Возможный дубликат [ActiveX компонент не может создать объект] (http://stackoverflow.com/questions/656934/activex-component-cant-create-object) – Lankymart