Ошибка регистрации VBS в 32-битной и 64-битной Win7

Я сделал следующий скрипт в VBS, но, хотя он работает в Windows XP и Vista, я не могу заставить его работать в Win7 как в 32, так и в 64-битной версии.

set myclip = createobject("clipbrd.clipboard")
bcode = myclip.gettext
if len(bcode) > 0 then
set wb = getobject("C:\DB.xlsx")
wb.sheets("1").range("a2").value = bcode
myclip.clear
myclip.settext wb.sheets("1").range("c2")
set wb = nothing
end if
set myclip = nothing 

Через повышенный cmd regsvr32 я получаю

Regsvr32 DllRegisterServer in clipboard.dll succeded.

Однако, когда я пытаюсь запустить vbs, я получаю следующую ошибку:

Line: 1 Char: 1 ActiveX component can't create object 'clipbrd.clipboard' Code: 800A01AD S

Есть идеи как его пройти?


person Roz Baz    schedule 21.02.2014    source источник
comment
Вы регистрируете его как 32- или 64-разрядный компонент ActiveX? Вы используете 32- или 64-разрядную версию WScript?   -  person Bond    schedule 22.02.2014
comment
Я пробовал оба, но безуспешно   -  person Roz Baz    schedule 22.02.2014


Ответы (1)


Если он зарегистрирован, но не может быть создан, возможно, есть что-то, к чему он может получить доступ во время создания, но не может получить доступ. Есть комментарий, откуда вы взяли это: «Обратите внимание, что константы, которые я скопировал из msdn, могут быть неправильными или устаревшими, см. http://msdn.microsoft.com/en-us/library/ebwdx8yh.aspx" Исходя из этого, я подозреваю, что одна из констант, которые он скопировал из msdn, не больше не доступен в Windows 7 или изменился, и из-за этого выдает ошибку при создании. Просто предположение, но стоит проверить, есть ли у вас источник VBS.

person JoeS    schedule 21.02.2014