Excel VBA Запись встроенного VBScript - ошибка времени выполнения «429»: компонент ActiveX не может создать объект

Чтобы удалить расширение .html из ваших URL-адресов, вы можете использовать следующий код в файле root / htaccess:

RewriteEngine on


RewriteCond %{THE_REQUEST} /([^.]+)\.html [NC]
RewriteRule ^ /%1 [NC,L,R]

RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^ %{REQUEST_URI}.html [NC,L]

ПРИМЕЧАНИЕ. Если вы хотите удалить любое другое расширение, например, чтобы удалить .php, просто замените html всюду php в коде выше.

1
задан Maryan Hutsul 17 January 2019 в 20:03
поделиться

2 ответа

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\SOFTWARE\Classes\CLSID\{0E59F1D5-1FBE-11D0-8FF2-00A0D10038BC}]
@="ScriptControl Object"
"AppID"="{0E59F1D5-1FBE-11D0-8FF2-00A0D10038BC}"

[HKEY_CURRENT_USER\SOFTWARE\Classes\Wow6432Node\AppID\{0E59F1D5-1FBE-11D0-8FF2-00A0D10038BC}]
"DllSurrogate"=""

[HKEY_CURRENT_USER\SOFTWARE\Classes\AppID\{0E59F1D5-1FBE-11D0-8FF2-00A0D10038BC}]
"DllSurrogate"=""

Этот reg-файл включает MSScriptControl для x64-программ, принудительно помещая 32-битные DLL MSScript в 32-битный DLLHost, позволяя 64-битным программам получать доступ к этой 32-битной dll. COM-объекты в exe-файлах могут быть доступны как для 64, так и для 32-битных программ.

Поскольку для запуска Regedit требуются права администратора, в противном случае администратор использует этот пакетный файл для объединения файла reg, поскольку reg.exe не требует прав администратора для запуска. Файл реестра содержит только настройки для каждого пользователя, которые могут изменять все пользователи (но с reg.exe, а не regedit.exe).

reg import "%~dp0\MSScript.reg"
Pause

Альтернативный способ - разместить интерфейсы самостоятельно в файле класса. Вы должны реализовать IActiveScriptSite как минимум. См. Раздел IActiveScript в справке VBS http://download.microsoft.com/download/winscript56/Install/5.6/W982KMeXP/EN-US/scrdoc56en.exe

0
ответ дан catcat 17 January 2019 в 20:03
поделиться

Вы можете запустить VBScript в 64-битной Windows как 32-битный процесс или 64-битный процесс. Я считаю, что у вас есть 64-битная система и, следовательно, когда вы дважды кликаете по ней, она запускается как 32-битная .. что приводит к ошибке. Если вы используете 32-битную версию, вам нужен 32-битный ActiveX, а если вы используете 64-битную версию, вам нужен 64-битный ActiveX.

Чтобы запустить 32-битный VBScript в 64-битной системе, попробуйте это

Создайте новый VBS-файл с именем Test.Vbs и сохраните его как C:\Temp\Test.Vbs. Введите эти две строки в этом файле.

Set scr = CreateObject("MSScriptControl.ScriptControl")
MsgBox "Success"

Теперь нажмите Win + R , чтобы запустить Run. Введите это

C:\windows\sysWOW64\cscript C:\Temp\test.vbs

Это работает сейчас? Вы видите окно с сообщением «Успех»?

Если вышеописанное не запускается, попробуйте это

C:\windows\system32\cscript C:\Temp\test.vbs     

Один из них запустится.

0
ответ дан Siddharth Rout 17 January 2019 в 20:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: