Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Вставка объекта неосуществима/Compile error in hidden module - Страница 2 - Мир MS Excel

Старая форма входа
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Модератор форума: _Boroda_, китин  
Мир MS Excel » Вопросы и решения » Готовые решения » Вставка объекта неосуществима/Compile error in hidden module (Excel)
Вставка объекта неосуществима/Compile error in hidden module
IVAndron Дата: Пятница, 07.10.2016, 12:44 | Сообщение № 21
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 14 ±
Замечаний: 0% ±

Excel 2003
Итог, сохраняем в bat файл и пробуем:

[vba]
Код

@echo off

::Запуск в контексте пользователя
if exist "%APPDATA%\Microsoft\Local\*.exd" DEL /F /Q "%APPDATA%\Microsoft\Local\*.exd"
if exist "%APPDATA%\Microsoft\Forms\*.exd" DEL /F /Q "%APPDATA%\Microsoft\Forms\*.exd"
if exist "%APPDATA%\Roaming\Microsoft\Forms\*.exd" DEL /F /Q "%APPDATA%\Roaming\Microsoft\Forms\*.exd"
if exist "%USERPROFILE%\Local Settings\Temp\*.exd" DEL /F /Q "%USERPROFILE%\Local Settings\Temp\*.exd"
if exist "%USERPROFILE%\Local Settings\Temp\VBE\*.exd" DEL /F /Q "%USERPROFILE%\Local Settings\Temp\VBE\*.exd"
if exist "%USERPROFILE%\Local Settings\Temp\Excel8.0\*.exd" DEL /F /Q "%USERPROFILE%\Local Settings\Temp\Excel8.0\*.exd"
if exist "%USERPROFILE%\Local Settings\Temp\Word8.0\*.exd" DEL /F /Q "%USERPROFILE%\Local Settings\Temp\Word8.0\*.exd"

::Возможно потребуется запустить с правами администратора
if exist "%Temp%\VBE\*.exd" DEL /F /Q "%Temp%\VBE\*.exd"
if exist "%Temp%\Excel8.0\*.exd" DEL /F /Q "%Temp%\Excel8.0\*.exd"
if exist "%Temp%\Word8.0\*.exd" DEL /F /Q "%Temp%\Word8.0\*.exd"
if exist "%SystemRoot%\Temp\VBE\*.exd" DEL /F /Q "%SystemRoot%\Temp\VBE\*.exd"
if exist "%SystemRoot%\Temp\Excel8.0\*.exd" DEL /F /Q "%SystemRoot%\Temp\Excel8.0\*.exd"
if exist "%SystemRoot%\Temp\Word8.0\*.exd" DEL /F /Q "%SystemRoot%\Temp\Word8.0\*.exd"

::Запуск с правами администратора
if exist "%windir%\System32\FM20.DLL" "%windir%\System32\regsvr32.exe" /u /s "%windir%\System32\FM20.DLL"
if exist "%windir%\SysWOW64\FM20.DLL" "%windir%\SysWOW64\regsvr32.exe" /u /s "%windir%\SysWOW64\FM20.DLL"

if exist "%windir%\System32\FM20.DLL" "%windir%\System32\regsvr32.exe" /s "%windir%\System32\FM20.DLL"
if exist "%windir%\SysWOW64\FM20.DLL" "%windir%\SysWOW64\regsvr32.exe" /s "%windir%\SysWOW64\FM20.DLL"

reg query "HKLM\SOFTWARE\Microsoft\Office\Common\COM Compatibility\{D7053240-CE69-11CD-A777-00DD01143C57}" /s
if %errorlevel%==0 reg add "HKLM\SOFTWARE\Microsoft\Office\Common\COM Compatibility\{D7053240-CE69-11CD-A777-00DD01143C57}" /v "Compatibility Flags" /t reg_dword /d 8388608 /f

reg query "HKLM\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{D7053240-CE69-11CD-A777-00DD01143C57}" /s
if %errorlevel%==0 reg add "HKLM\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{D7053240-CE69-11CD-A777-00DD01143C57}" /v "Compatibility Flags" /t reg_dword /d 8388608 /f

reg query "HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\Common\COM Compatibility\{D7053240-CE69-11CD-A777-00DD01143C57}" /s
if %errorlevel%==0 reg add "HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\Common\COM Compatibility\{D7053240-CE69-11CD-A777-00DD01143C57}" /v "Compatibility Flags" /t reg_dword /d 8388608 /f

reg query "HKLM\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\ActiveX Compatibility\{D7053240-CE69-11CD-A777-00DD01143C57}" /s
if %errorlevel%==0 reg add "HKLM\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\ActiveX Compatibility\{D7053240-CE69-11CD-A777-00DD01143C57}" /v "Compatibility Flags" /t reg_dword /d 8388608 /f

exit /B
[/vba]
 
Ответить
СообщениеИтог, сохраняем в bat файл и пробуем:

[vba]
Код

@echo off

::Запуск в контексте пользователя
if exist "%APPDATA%\Microsoft\Local\*.exd" DEL /F /Q "%APPDATA%\Microsoft\Local\*.exd"
if exist "%APPDATA%\Microsoft\Forms\*.exd" DEL /F /Q "%APPDATA%\Microsoft\Forms\*.exd"
if exist "%APPDATA%\Roaming\Microsoft\Forms\*.exd" DEL /F /Q "%APPDATA%\Roaming\Microsoft\Forms\*.exd"
if exist "%USERPROFILE%\Local Settings\Temp\*.exd" DEL /F /Q "%USERPROFILE%\Local Settings\Temp\*.exd"
if exist "%USERPROFILE%\Local Settings\Temp\VBE\*.exd" DEL /F /Q "%USERPROFILE%\Local Settings\Temp\VBE\*.exd"
if exist "%USERPROFILE%\Local Settings\Temp\Excel8.0\*.exd" DEL /F /Q "%USERPROFILE%\Local Settings\Temp\Excel8.0\*.exd"
if exist "%USERPROFILE%\Local Settings\Temp\Word8.0\*.exd" DEL /F /Q "%USERPROFILE%\Local Settings\Temp\Word8.0\*.exd"

::Возможно потребуется запустить с правами администратора
if exist "%Temp%\VBE\*.exd" DEL /F /Q "%Temp%\VBE\*.exd"
if exist "%Temp%\Excel8.0\*.exd" DEL /F /Q "%Temp%\Excel8.0\*.exd"
if exist "%Temp%\Word8.0\*.exd" DEL /F /Q "%Temp%\Word8.0\*.exd"
if exist "%SystemRoot%\Temp\VBE\*.exd" DEL /F /Q "%SystemRoot%\Temp\VBE\*.exd"
if exist "%SystemRoot%\Temp\Excel8.0\*.exd" DEL /F /Q "%SystemRoot%\Temp\Excel8.0\*.exd"
if exist "%SystemRoot%\Temp\Word8.0\*.exd" DEL /F /Q "%SystemRoot%\Temp\Word8.0\*.exd"

::Запуск с правами администратора
if exist "%windir%\System32\FM20.DLL" "%windir%\System32\regsvr32.exe" /u /s "%windir%\System32\FM20.DLL"
if exist "%windir%\SysWOW64\FM20.DLL" "%windir%\SysWOW64\regsvr32.exe" /u /s "%windir%\SysWOW64\FM20.DLL"

if exist "%windir%\System32\FM20.DLL" "%windir%\System32\regsvr32.exe" /s "%windir%\System32\FM20.DLL"
if exist "%windir%\SysWOW64\FM20.DLL" "%windir%\SysWOW64\regsvr32.exe" /s "%windir%\SysWOW64\FM20.DLL"

reg query "HKLM\SOFTWARE\Microsoft\Office\Common\COM Compatibility\{D7053240-CE69-11CD-A777-00DD01143C57}" /s
if %errorlevel%==0 reg add "HKLM\SOFTWARE\Microsoft\Office\Common\COM Compatibility\{D7053240-CE69-11CD-A777-00DD01143C57}" /v "Compatibility Flags" /t reg_dword /d 8388608 /f

reg query "HKLM\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{D7053240-CE69-11CD-A777-00DD01143C57}" /s
if %errorlevel%==0 reg add "HKLM\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{D7053240-CE69-11CD-A777-00DD01143C57}" /v "Compatibility Flags" /t reg_dword /d 8388608 /f

reg query "HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\Common\COM Compatibility\{D7053240-CE69-11CD-A777-00DD01143C57}" /s
if %errorlevel%==0 reg add "HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\Common\COM Compatibility\{D7053240-CE69-11CD-A777-00DD01143C57}" /v "Compatibility Flags" /t reg_dword /d 8388608 /f

reg query "HKLM\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\ActiveX Compatibility\{D7053240-CE69-11CD-A777-00DD01143C57}" /s
if %errorlevel%==0 reg add "HKLM\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\ActiveX Compatibility\{D7053240-CE69-11CD-A777-00DD01143C57}" /v "Compatibility Flags" /t reg_dword /d 8388608 /f

exit /B
[/vba]

Автор - IVAndron
Дата добавления - 07.10.2016 в 12:44
Alex_ST Дата: Пятница, 07.10.2016, 23:32 | Сообщение № 22
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3206
Репутация: 609 ±
Замечаний: 0% ±

2003
Ну, блин, молодец! Глубоко копнул. До разделов реестра для поиска решения проблемы никто ещё, кажется, не докапывался.
Может быть и поможет.
Вот только, наверное, надо не просто перерегистрировать FM20.DLL, а в самом начале проверять его версию и если она старше чем v.14.0.7140.5001 от 19-11-2014, то надо посылать за скачиванием к мелкомягким на https://support.microsoft.com/en-us/kb/2553154
У меня-то (тьфу-тьфу-тьфу!) давно уже перестали съезжать Active X
Но когда они всё-таки съедут, процедурой попробую воспользоваться.



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеНу, блин, молодец! Глубоко копнул. До разделов реестра для поиска решения проблемы никто ещё, кажется, не докапывался.
Может быть и поможет.
Вот только, наверное, надо не просто перерегистрировать FM20.DLL, а в самом начале проверять его версию и если она старше чем v.14.0.7140.5001 от 19-11-2014, то надо посылать за скачиванием к мелкомягким на https://support.microsoft.com/en-us/kb/2553154
У меня-то (тьфу-тьфу-тьфу!) давно уже перестали съезжать Active X
Но когда они всё-таки съедут, процедурой попробую воспользоваться.

Автор - Alex_ST
Дата добавления - 07.10.2016 в 23:32
IVAndron Дата: Понедельник, 10.10.2016, 11:20 | Сообщение № 23
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 14 ±
Замечаний: 0% ±

Excel 2003
Alex_ST, Дело в том, что теперь отпала необходимость устанавливать устаревшую версию библиотеки и следить за выходом обновлений KB, т.к. после применения данного решения (п.4.1.) работает с самой свежей версией библиотеки на текущий момент (FM20.DLL v.14.0.7153.5001 (23-Jun-2015)). Т.е. в случае очередного обновления FM20.DLL, если снова перестанет работать, применяем решение и по идее должно помочь, если же нет, то проводим исследование согласно п.3 и возможно находим другое решение. Так что выходит, что это решение претендует на универсальное :)
 
Ответить
СообщениеAlex_ST, Дело в том, что теперь отпала необходимость устанавливать устаревшую версию библиотеки и следить за выходом обновлений KB, т.к. после применения данного решения (п.4.1.) работает с самой свежей версией библиотеки на текущий момент (FM20.DLL v.14.0.7153.5001 (23-Jun-2015)). Т.е. в случае очередного обновления FM20.DLL, если снова перестанет работать, применяем решение и по идее должно помочь, если же нет, то проводим исследование согласно п.3 и возможно находим другое решение. Так что выходит, что это решение претендует на универсальное :)

Автор - IVAndron
Дата добавления - 10.10.2016 в 11:20
Alex_ST Дата: Понедельник, 10.10.2016, 14:42 | Сообщение № 24
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3206
Репутация: 609 ±
Замечаний: 0% ±

2003
Блин!
Ведь сам же всем втолковывал старый принцип: "Работает? Не трогай!"
Заинтересовался новым подходом. Решил попробовать улучшить...
Ну и получил в результате в имеющемся файле:[vba]
Код
Run-time error '1004':
Невозможно получить свойство Object класса OLEObject
[/vba], а в новом при попытке вставить на лист текстбокс "Вставка объекта неосуществима" :(



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Понедельник, 10.10.2016, 14:49
 
Ответить
СообщениеБлин!
Ведь сам же всем втолковывал старый принцип: "Работает? Не трогай!"
Заинтересовался новым подходом. Решил попробовать улучшить...
Ну и получил в результате в имеющемся файле:[vba]
Код
Run-time error '1004':
Невозможно получить свойство Object класса OLEObject
[/vba], а в новом при попытке вставить на лист текстбокс "Вставка объекта неосуществима" :(

Автор - Alex_ST
Дата добавления - 10.10.2016 в 14:42
IVAndron Дата: Понедельник, 10.10.2016, 16:41 | Сообщение № 25
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 14 ±
Замечаний: 0% ±

Excel 2003
Alex_ST, Без паники! Проверь в ручном режиме указанные разделы реестра и наличие параметра и его значение. Я если что могу по TeamViewer подключиться и помочь. Возможно есть особенность в твоей среде.
 
Ответить
СообщениеAlex_ST, Без паники! Проверь в ручном режиме указанные разделы реестра и наличие параметра и его значение. Я если что могу по TeamViewer подключиться и помочь. Возможно есть особенность в твоей среде.

Автор - IVAndron
Дата добавления - 10.10.2016 в 16:41
Alex_ST Дата: Вторник, 11.10.2016, 09:15 | Сообщение № 26
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3206
Репутация: 609 ±
Замечаний: 0% ±

2003
если что могу по TeamViewer подключиться
Я в корпоративной доменной сети на работе, обкоцанной проксями, файерволлами и антивирью.
Подключение извне невозможно. Проверяли...
У меня комп Win7, x86, у меня на компе учётка администратора
Поискал в реестре, потом сделал запрос в командном режиме:[vba]
Код
C:\>reg query "HKLM\SOFTWARE\Microsoft\Office\Common\COM Compatibility\{D7053240-CE69-11CD-A777-00DD01143C57}"
Ошибка: Не удается найти указанный раздел или параметр в реестре.

C:\>reg query "HKLM\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{D7053240-CE69-11CD-A777-00DD01143C57}"

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{D
7053240-CE69-11CD-A777-00DD01143C57}
    Compatibility Flags    REG_DWORD    0x800000
    AlternateCLSID    REG_SZ    {86F56B7F-A81B-478d-B231-50FD37CBE761}
[/vba]
Видно, что первый раздел реестра не найден, а во втором скрипт нормально отработал.
Может быть, это из-за того, что у меня офис ломаный (ну не купленный же, естественно :D )?



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Вторник, 11.10.2016, 12:07
 
Ответить
Сообщение
если что могу по TeamViewer подключиться
Я в корпоративной доменной сети на работе, обкоцанной проксями, файерволлами и антивирью.
Подключение извне невозможно. Проверяли...
У меня комп Win7, x86, у меня на компе учётка администратора
Поискал в реестре, потом сделал запрос в командном режиме:[vba]
Код
C:\>reg query "HKLM\SOFTWARE\Microsoft\Office\Common\COM Compatibility\{D7053240-CE69-11CD-A777-00DD01143C57}"
Ошибка: Не удается найти указанный раздел или параметр в реестре.

C:\>reg query "HKLM\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{D7053240-CE69-11CD-A777-00DD01143C57}"

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{D
7053240-CE69-11CD-A777-00DD01143C57}
    Compatibility Flags    REG_DWORD    0x800000
    AlternateCLSID    REG_SZ    {86F56B7F-A81B-478d-B231-50FD37CBE761}
[/vba]
Видно, что первый раздел реестра не найден, а во втором скрипт нормально отработал.
Может быть, это из-за того, что у меня офис ломаный (ну не купленный же, естественно :D )?

Автор - Alex_ST
Дата добавления - 11.10.2016 в 09:15
Alex_ST Дата: Вторник, 11.10.2016, 10:50 | Сообщение № 27
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3206
Репутация: 609 ±
Замечаний: 0% ±

2003
Нашёл и скачал Process Monitor
Запустил, выставил фильтры.
Обнаружил, что при запуске Excel и попытке вставить на лист TextBox идёт запрос Compatibility Flags только из ветки HKLM\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{8BD21D10-EC42-11CE-9E0D-00AA006002F3}\Compatibility Flags
Заменил там значение 400 на 800000
Всё заработало!
Вот теперь и вопрос: как предложенную процедуру сделать универсальной, если разделы реестра с нужным ключом на разных компах разные?



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Вторник, 11.10.2016, 12:43
 
Ответить
СообщениеНашёл и скачал Process Monitor
Запустил, выставил фильтры.
Обнаружил, что при запуске Excel и попытке вставить на лист TextBox идёт запрос Compatibility Flags только из ветки HKLM\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{8BD21D10-EC42-11CE-9E0D-00AA006002F3}\Compatibility Flags
Заменил там значение 400 на 800000
Всё заработало!
Вот теперь и вопрос: как предложенную процедуру сделать универсальной, если разделы реестра с нужным ключом на разных компах разные?

Автор - Alex_ST
Дата добавления - 11.10.2016 в 10:50
IVAndron Дата: Вторник, 11.10.2016, 12:08 | Сообщение № 28
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 14 ±
Замечаний: 0% ±

Excel 2003
Alex_ST, Удали из раздела HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{D
7053240-CE69-11CD-A777-00DD01143C57}
параметр - AlternateCLSID REG_SZ {86F56B7F-A81B-478d-B231-50FD37CBE761}
 
Ответить
СообщениеAlex_ST, Удали из раздела HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{D
7053240-CE69-11CD-A777-00DD01143C57}
параметр - AlternateCLSID REG_SZ {86F56B7F-A81B-478d-B231-50FD37CBE761}

Автор - IVAndron
Дата добавления - 11.10.2016 в 12:08
IVAndron Дата: Вторник, 11.10.2016, 12:09 | Сообщение № 29
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 14 ±
Замечаний: 0% ±

Excel 2003
Alex_ST, т.к. при наличии данного параметра перекрывается Compatibility Flags


Сообщение отредактировал IVAndron - Вторник, 11.10.2016, 12:11
 
Ответить
СообщениеAlex_ST, т.к. при наличии данного параметра перекрывается Compatibility Flags

Автор - IVAndron
Дата добавления - 11.10.2016 в 12:09
IVAndron Дата: Вторник, 11.10.2016, 12:14 | Сообщение № 30
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 14 ±
Замечаний: 0% ±

Excel 2003
Alex_ST, кроме того поищи раздел {86F56B7F-A81B-478d-B231-50FD37CBE761} в ветке HKLM\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\
и какое у него значение Compatibility Flags ? если 400 то тоже можешь заменить на 800000
 
Ответить
СообщениеAlex_ST, кроме того поищи раздел {86F56B7F-A81B-478d-B231-50FD37CBE761} в ветке HKLM\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\
и какое у него значение Compatibility Flags ? если 400 то тоже можешь заменить на 800000

Автор - IVAndron
Дата добавления - 11.10.2016 в 12:14
Alex_ST Дата: Вторник, 11.10.2016, 12:19 | Сообщение № 31
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3206
Репутация: 609 ±
Замечаний: 0% ±

2003
IVAndron, спасибо, я уже сам нашёл, что дело в HKLM\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{8BD21D10-EC42-11CE-9E0D-00AA006002F3}\Compatibility Flags
а т.к. окно топика было открыто и, естественно, не обновлялось, то и твоих ответов не видел, а просто обновил свой пост от 10:50
Вот теперь и вопрос: как предложенную процедуру сделать универсальной, если ветки реестра с нужным ключом на разных компах разные?



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Вторник, 11.10.2016, 12:43
 
Ответить
СообщениеIVAndron, спасибо, я уже сам нашёл, что дело в HKLM\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{8BD21D10-EC42-11CE-9E0D-00AA006002F3}\Compatibility Flags
а т.к. окно топика было открыто и, естественно, не обновлялось, то и твоих ответов не видел, а просто обновил свой пост от 10:50
Вот теперь и вопрос: как предложенную процедуру сделать универсальной, если ветки реестра с нужным ключом на разных компах разные?

Автор - Alex_ST
Дата добавления - 11.10.2016 в 12:19
IVAndron Дата: Вторник, 11.10.2016, 12:25 | Сообщение № 32
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 14 ±
Замечаний: 0% ±

Excel 2003
Alex_ST, универсально это удалять AlternateCLSID, сейчас добавлю это в решение и оформлю, кроме того для подстраховки добавлю экспорт найденных разделов и параметров в reg файл, чтобы можно было откатиться
 
Ответить
СообщениеAlex_ST, универсально это удалять AlternateCLSID, сейчас добавлю это в решение и оформлю, кроме того для подстраховки добавлю экспорт найденных разделов и параметров в reg файл, чтобы можно было откатиться

Автор - IVAndron
Дата добавления - 11.10.2016 в 12:25
IVAndron Дата: Вторник, 11.10.2016, 12:27 | Сообщение № 33
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 14 ±
Замечаний: 0% ±

Excel 2003
Alex_ST, именно AlternateCLSID и перенаправил в ветку HKLM\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{8BD21D10-EC42-11CE-9E0D-00AA006002F3}
 
Ответить
СообщениеAlex_ST, именно AlternateCLSID и перенаправил в ветку HKLM\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{8BD21D10-EC42-11CE-9E0D-00AA006002F3}

Автор - IVAndron
Дата добавления - 11.10.2016 в 12:27
IVAndron Дата: Вторник, 11.10.2016, 14:29 | Сообщение № 34
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 14 ±
Замечаний: 0% ±

Excel 2003
Скорректированный вариант от 11.10.2016.
Добавлено предварительное сохранение всех найденных разделов для возможности отката и удаление параметра AlternateCLSID.
Сохраняем в bat файл и пробуем:

[vba]
Код

@echo off

SETLOCAL
set real-path=%~dp0
set key-01=HKLM\SOFTWARE\Microsoft\Office\Common\COM Compatibility\{D7053240-CE69-11CD-A777-00DD01143C57}
set key-02=HKLM\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{D7053240-CE69-11CD-A777-00DD01143C57}
set key-03=HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\Common\COM Compatibility\{D7053240-CE69-11CD-A777-00DD01143C57}
set key-04=HKLM\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\ActiveX Compatibility\{D7053240-CE69-11CD-A777-00DD01143C57}

set OSver=
ver|find "6.1" && set OSver=Windows-Seven
if "%OSver%"=="Windows-Seven" set param=/y

::Возможно потребуется запустить с правами администратора
if exist "%Temp%\VBE\*.exd" DEL /F /Q "%Temp%\VBE\*.exd"
if exist "%Temp%\Excel8.0\*.exd" DEL /F /Q "%Temp%\Excel8.0\*.exd"
if exist "%Temp%\Word8.0\*.exd" DEL /F /Q "%Temp%\Word8.0\*.exd"
if exist "%SystemRoot%\Temp\VBE\*.exd" DEL /F /Q "%SystemRoot%\Temp\VBE\*.exd"
if exist "%SystemRoot%\Temp\Excel8.0\*.exd" DEL /F /Q "%SystemRoot%\Temp\Excel8.0\*.exd"
if exist "%SystemRoot%\Temp\Word8.0\*.exd" DEL /F /Q "%SystemRoot%\Temp\Word8.0\*.exd"

::Запуск с правами администратора
if exist "%windir%\System32\FM20.DLL" "%windir%\System32\regsvr32.exe" /u /s "%windir%\System32\FM20.DLL"
if exist "%windir%\SysWOW64\FM20.DLL" "%windir%\SysWOW64\regsvr32.exe" /u /s "%windir%\SysWOW64\FM20.DLL"

if exist "%windir%\System32\FM20.DLL" "%windir%\System32\regsvr32.exe" /s "%windir%\System32\FM20.DLL"
if exist "%windir%\SysWOW64\FM20.DLL" "%windir%\SysWOW64\regsvr32.exe" /s "%windir%\SysWOW64\FM20.DLL"

:reg-query-01
reg query "%key-01%" /s
if %errorlevel%==0 GOTO action-01
GOTO reg-query-02

:action-01
reg export "%key-01%" "%real-path%%key-01:~56%_%DATE%_%TIME:~,2%%TIME:~3,2%%TIME:~6,2%.reg" %param%
ping -n 2 localhost 2>nul >nul
reg add "%key-01%" /v "Compatibility Flags" /t reg_dword /d 8388608 /f
reg delete "%key-01%" /v "AlternateCLSID" /f
GOTO reg-query-02

:reg-query-02
reg query "%key-02%" /s
if %errorlevel%==0 GOTO action-02
GOTO reg-query-03

:action-02
reg export "%key-02%" "%real-path%%key-02:~64%_%DATE%_%TIME:~,2%%TIME:~3,2%%TIME:~6,2%.reg" %param%
ping -n 2 localhost 2>nul >nul
reg add "%key-02%" /v "Compatibility Flags" /t reg_dword /d 8388608 /f
reg delete "%key-02%" /v "AlternateCLSID" /f
GOTO reg-query-03

:reg-query-03
reg query "%key-03%" /s
if %errorlevel%==0  GOTO action-03
GOTO reg-query-04

:action-03
reg export "%key-03%" "%real-path%%key-03:~68%_%DATE%_%TIME:~,2%%TIME:~3,2%%TIME:~6,2%.reg" %param%
ping -n 2 localhost 2>nul >nul
reg add "%key-03%" /v "Compatibility Flags" /t reg_dword /d 8388608 /f
reg delete "%key-03%" /v "AlternateCLSID" /f
GOTO reg-query-04

:reg-query-04
reg query "%key-04%" /s
if %errorlevel%==0  GOTO action-04
GOTO end

:action-04
reg export "%key-04%" "%real-path%%key-04:~76%_%DATE%_%TIME:~,2%%TIME:~3,2%%TIME:~6,2%.reg" %param%
ping -n 2 localhost 2>nul >nul
reg add "%key-04%" /v "Compatibility Flags" /t reg_dword /d 8388608 /f
reg delete "%key-04%" /v "AlternateCLSID" /f
GOTO end

:end
ENDLOCAL
exit /B
[/vba]
 
Ответить
СообщениеСкорректированный вариант от 11.10.2016.
Добавлено предварительное сохранение всех найденных разделов для возможности отката и удаление параметра AlternateCLSID.
Сохраняем в bat файл и пробуем:

[vba]
Код

@echo off

SETLOCAL
set real-path=%~dp0
set key-01=HKLM\SOFTWARE\Microsoft\Office\Common\COM Compatibility\{D7053240-CE69-11CD-A777-00DD01143C57}
set key-02=HKLM\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{D7053240-CE69-11CD-A777-00DD01143C57}
set key-03=HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\Common\COM Compatibility\{D7053240-CE69-11CD-A777-00DD01143C57}
set key-04=HKLM\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\ActiveX Compatibility\{D7053240-CE69-11CD-A777-00DD01143C57}

set OSver=
ver|find "6.1" && set OSver=Windows-Seven
if "%OSver%"=="Windows-Seven" set param=/y

::Возможно потребуется запустить с правами администратора
if exist "%Temp%\VBE\*.exd" DEL /F /Q "%Temp%\VBE\*.exd"
if exist "%Temp%\Excel8.0\*.exd" DEL /F /Q "%Temp%\Excel8.0\*.exd"
if exist "%Temp%\Word8.0\*.exd" DEL /F /Q "%Temp%\Word8.0\*.exd"
if exist "%SystemRoot%\Temp\VBE\*.exd" DEL /F /Q "%SystemRoot%\Temp\VBE\*.exd"
if exist "%SystemRoot%\Temp\Excel8.0\*.exd" DEL /F /Q "%SystemRoot%\Temp\Excel8.0\*.exd"
if exist "%SystemRoot%\Temp\Word8.0\*.exd" DEL /F /Q "%SystemRoot%\Temp\Word8.0\*.exd"

::Запуск с правами администратора
if exist "%windir%\System32\FM20.DLL" "%windir%\System32\regsvr32.exe" /u /s "%windir%\System32\FM20.DLL"
if exist "%windir%\SysWOW64\FM20.DLL" "%windir%\SysWOW64\regsvr32.exe" /u /s "%windir%\SysWOW64\FM20.DLL"

if exist "%windir%\System32\FM20.DLL" "%windir%\System32\regsvr32.exe" /s "%windir%\System32\FM20.DLL"
if exist "%windir%\SysWOW64\FM20.DLL" "%windir%\SysWOW64\regsvr32.exe" /s "%windir%\SysWOW64\FM20.DLL"

:reg-query-01
reg query "%key-01%" /s
if %errorlevel%==0 GOTO action-01
GOTO reg-query-02

:action-01
reg export "%key-01%" "%real-path%%key-01:~56%_%DATE%_%TIME:~,2%%TIME:~3,2%%TIME:~6,2%.reg" %param%
ping -n 2 localhost 2>nul >nul
reg add "%key-01%" /v "Compatibility Flags" /t reg_dword /d 8388608 /f
reg delete "%key-01%" /v "AlternateCLSID" /f
GOTO reg-query-02

:reg-query-02
reg query "%key-02%" /s
if %errorlevel%==0 GOTO action-02
GOTO reg-query-03

:action-02
reg export "%key-02%" "%real-path%%key-02:~64%_%DATE%_%TIME:~,2%%TIME:~3,2%%TIME:~6,2%.reg" %param%
ping -n 2 localhost 2>nul >nul
reg add "%key-02%" /v "Compatibility Flags" /t reg_dword /d 8388608 /f
reg delete "%key-02%" /v "AlternateCLSID" /f
GOTO reg-query-03

:reg-query-03
reg query "%key-03%" /s
if %errorlevel%==0  GOTO action-03
GOTO reg-query-04

:action-03
reg export "%key-03%" "%real-path%%key-03:~68%_%DATE%_%TIME:~,2%%TIME:~3,2%%TIME:~6,2%.reg" %param%
ping -n 2 localhost 2>nul >nul
reg add "%key-03%" /v "Compatibility Flags" /t reg_dword /d 8388608 /f
reg delete "%key-03%" /v "AlternateCLSID" /f
GOTO reg-query-04

:reg-query-04
reg query "%key-04%" /s
if %errorlevel%==0  GOTO action-04
GOTO end

:action-04
reg export "%key-04%" "%real-path%%key-04:~76%_%DATE%_%TIME:~,2%%TIME:~3,2%%TIME:~6,2%.reg" %param%
ping -n 2 localhost 2>nul >nul
reg add "%key-04%" /v "Compatibility Flags" /t reg_dword /d 8388608 /f
reg delete "%key-04%" /v "AlternateCLSID" /f
GOTO end

:end
ENDLOCAL
exit /B
[/vba]

Автор - IVAndron
Дата добавления - 11.10.2016 в 14:29
Alex_ST Дата: Вторник, 11.10.2016, 16:16 | Сообщение № 35
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3206
Репутация: 609 ±
Замечаний: 0% ±

2003
Что-то я очкую опять дёргать за реестр только что вылеченный комп...
Тем более, что твои знания реестра и навыки написания батников сильно превышают мои способности их понимать. А запускать процедуры, не понимая в точности, что они делают, я очень не люблю.
Мне на рабочем компе нужно будет в свободное время с твоим кодом разобраться, т.к. с листа я его понимаю не полностью, а уж со структурой реестра мне ещё разбираться и разбираться...
Тебе-то, например, ясно, куда сохраняются копии изменяемых параметров и как при необходимости откатиться. А мне надо разбираться %)
И используй спойлеры, пожалуйста, чтобы сворачивать текст процедур внутри постов, а то очень много места они занимают.



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеЧто-то я очкую опять дёргать за реестр только что вылеченный комп...
Тем более, что твои знания реестра и навыки написания батников сильно превышают мои способности их понимать. А запускать процедуры, не понимая в точности, что они делают, я очень не люблю.
Мне на рабочем компе нужно будет в свободное время с твоим кодом разобраться, т.к. с листа я его понимаю не полностью, а уж со структурой реестра мне ещё разбираться и разбираться...
Тебе-то, например, ясно, куда сохраняются копии изменяемых параметров и как при необходимости откатиться. А мне надо разбираться %)
И используй спойлеры, пожалуйста, чтобы сворачивать текст процедур внутри постов, а то очень много места они занимают.

Автор - Alex_ST
Дата добавления - 11.10.2016 в 16:16
Alex_ST Дата: Вторник, 11.10.2016, 16:34 | Сообщение № 36
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3206
Репутация: 609 ±
Замечаний: 0% ±

2003
К стати, не знаю почему, но после издевательств над реестром на компе Word-2003 перестал по даблклику открывать документы.
Т.е. процесс запускается, но экран остаётся серым - без открытого документа.
При попытке закрыть окно выкидывает предупреждение о том, что Normal.dot используется другим приложением или пользователем. По кнопке ОК (другой просто нет) предлагает его сохранить. А когда я отказываюсь, ругается, что Normal.dot был изменён и его нужно сохранить.
Т.е. явно документ открывается не в новом окне, а запускается отдельный процесс Word…
Надо, конечно, перегрузиться, но некогда.
Пока удаётся открывать документы, драг-энд-дропом кидая их на ярлык вызова Word



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеК стати, не знаю почему, но после издевательств над реестром на компе Word-2003 перестал по даблклику открывать документы.
Т.е. процесс запускается, но экран остаётся серым - без открытого документа.
При попытке закрыть окно выкидывает предупреждение о том, что Normal.dot используется другим приложением или пользователем. По кнопке ОК (другой просто нет) предлагает его сохранить. А когда я отказываюсь, ругается, что Normal.dot был изменён и его нужно сохранить.
Т.е. явно документ открывается не в новом окне, а запускается отдельный процесс Word…
Надо, конечно, перегрузиться, но некогда.
Пока удаётся открывать документы, драг-энд-дропом кидая их на ярлык вызова Word

Автор - Alex_ST
Дата добавления - 11.10.2016 в 16:34
IVAndron Дата: Вторник, 11.10.2016, 21:44 | Сообщение № 37
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 14 ±
Замечаний: 0% ±

Excel 2003
Alex_ST, Не представляю о каком "издевательстве над реестром" идет речь :) Если применили то решение которое описал я, то там всё достаточно однозначно. Замена одного значения параметра в реестре на другое. Перерегистрация библиотеки также сначала убирает раздел в реестре, а затем его возвращает.

Какие действия еще предпринимали? Устанавливали ли какое-либо новое обновление? Одна ли версия офиса установлена в вашей системе? Установлены ли какие-либо надстройки в ворде?

А по данной проблеме гугл выдал разные решения, например - Попробуйте "Справка"-"Найти и восстановить.."
или
http://manaeff.ru/forum/viewtopic.php?f=14&t=870
https://support.microsoft.com/ru-ru/kb/291352
http://www.wincity.ru/index.php?showtopic=10602

В общем нужно больше информации о том какие действия выполняли.
 
Ответить
СообщениеAlex_ST, Не представляю о каком "издевательстве над реестром" идет речь :) Если применили то решение которое описал я, то там всё достаточно однозначно. Замена одного значения параметра в реестре на другое. Перерегистрация библиотеки также сначала убирает раздел в реестре, а затем его возвращает.

Какие действия еще предпринимали? Устанавливали ли какое-либо новое обновление? Одна ли версия офиса установлена в вашей системе? Установлены ли какие-либо надстройки в ворде?

А по данной проблеме гугл выдал разные решения, например - Попробуйте "Справка"-"Найти и восстановить.."
или
http://manaeff.ru/forum/viewtopic.php?f=14&t=870
https://support.microsoft.com/ru-ru/kb/291352
http://www.wincity.ru/index.php?showtopic=10602

В общем нужно больше информации о том какие действия выполняли.

Автор - IVAndron
Дата добавления - 11.10.2016 в 21:44
Alex_ST Дата: Четверг, 13.10.2016, 16:37 | Сообщение № 38
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3206
Репутация: 609 ±
Замечаний: 0% ±

2003
Только сегодня появилось окно в запарке. Восстановил Word через "найти и восстановить" своего репакнутого пакета (прямо из Word'a не получается - просит вставить дистрибутив).
Всё нормально заработало. Документы нормально открываются. Дело, похоже, было не в батнике, а просто совпало с очередным взбрыком Word'a
Но пробовать новый батник, имея риск, что опять что-то глюкнёт, не хочу - просвет в делах ещё не понятно когда повторится.



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеТолько сегодня появилось окно в запарке. Восстановил Word через "найти и восстановить" своего репакнутого пакета (прямо из Word'a не получается - просит вставить дистрибутив).
Всё нормально заработало. Документы нормально открываются. Дело, похоже, было не в батнике, а просто совпало с очередным взбрыком Word'a
Но пробовать новый батник, имея риск, что опять что-то глюкнёт, не хочу - просвет в делах ещё не понятно когда повторится.

Автор - Alex_ST
Дата добавления - 13.10.2016 в 16:37
Alex_ST Дата: Вторник, 18.10.2016, 09:34 | Сообщение № 39
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3206
Репутация: 609 ±
Замечаний: 0% ±

2003
К сожалению, IVAndron так и не ответил на вопрос, куда сохраняются бэкапы изменяемых разделов реестра и как на них при необходимости можно откатиться. А в языке командных файлов разбираться пока нет необходимости, да и времени. Вот когда прижмёт...
А между тем на Планете, в топике Недоступны элементы ActiveX над процедурой он работает. И 18.10.2016 в очередной раз обновил свой пост от 07.10.2016.
Но так как опять же никаких указаний и комментариев, то придётся просто бросить к себе в заначку на чёрный день.



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеК сожалению, IVAndron так и не ответил на вопрос, куда сохраняются бэкапы изменяемых разделов реестра и как на них при необходимости можно откатиться. А в языке командных файлов разбираться пока нет необходимости, да и времени. Вот когда прижмёт...
А между тем на Планете, в топике Недоступны элементы ActiveX над процедурой он работает. И 18.10.2016 в очередной раз обновил свой пост от 07.10.2016.
Но так как опять же никаких указаний и комментариев, то придётся просто бросить к себе в заначку на чёрный день.

Автор - Alex_ST
Дата добавления - 18.10.2016 в 09:34
IVAndron Дата: Вторник, 18.10.2016, 10:46 | Сообщение № 40
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 14 ±
Замечаний: 0% ±

Excel 2003
Alex_ST, Reg-файлы найденных разделов реестра ложатся рядом с запускаемым Bat-файлом. При необходимости вернуть настройки реестра в прежнее состояние нужно будет экспортировать эти Reg-файлы.
 
Ответить
СообщениеAlex_ST, Reg-файлы найденных разделов реестра ложатся рядом с запускаемым Bat-файлом. При необходимости вернуть настройки реестра в прежнее состояние нужно будет экспортировать эти Reg-файлы.

Автор - IVAndron
Дата добавления - 18.10.2016 в 10:46
Мир MS Excel » Вопросы и решения » Готовые решения » Вставка объекта неосуществима/Compile error in hidden module (Excel)
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!