1

Тема: vba socket

здравствуйте,
на ОС 64 бит не работает скрипт который работал на ОС 32 бит
C:\Windows\SysWoW64\> regsvr32.exe w3socket.dll не помог

2

Re: vba socket

Afar, здравствуйте. Попробуйте выяснить причину. Может скрипт знает больше подробностей о себе ?
https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcSucqwb3j3ybvtVF2d7UlBbMHB5deS6R9OEn5LwJKOjGV29j-_w

Передумал переделывать мир. Пашет и так, ну и ладно. Сделаю лучше свой !

3

Re: vba socket

по шагу когда идешь ошибку дает на  Set objSocket = CreateObject("Socket.TCP")
Run-time error '429'
ActiveX component can't create object

4

Re: vba socket

Afar, ну вот уже некоторая ясность. Для начала нужно выяснить, присутствует ли в реестре запись "HKEY_CLASSES_ROOT\Socket.TCP" ? Если да, то нужно выяснить в каком режиме (64 / 32 битном) работает VBA ядро офиса. Если ядро работает в 64-битном режиме, то оно может не видеть 32-тные компоненты.

Передумал переделывать мир. Пашет и так, ну и ладно. Сделаю лучше свой !

5 (изменено: Afar, 2014-02-10 12:42:51)

Re: vba socket

день добрый добрый человек,
я проверил regedit, "HKEY_CLASSES_ROOT\Socket.TCP" не записона
не могу понять программы каторый работает на 32 бит зачем не работает на 64 бит
"HKEY_CLASSES_ROOT" "Socket.TCP"есть только для ОС 32 бит

6

Re: vba socket

Затем что машинный код разной разрядности несовместим. Логично, что и объекты несовместимы без использования "переходников" / "костылей". Раз в реестре объект не зареген, то он тем более не создастся. Нужно найти DLL / OCX из которого создаётся Socket.TCP и выполнить его регистрацию через утилиту regsvr32.exe либо программно.

Передумал переделывать мир. Пашет и так, ну и ладно. Сделаю лучше свой !