Вставка объекта неосуществима excel
С помощью OLE можно включать контент из других программ, таких как Word или Excel.
OLE поддерживается многими различными программами, а OLE используется для того, чтобы содержимое, созданное в одной программе, было доступно в другой программе. Например, можно вставить документ Office Word в книгу Office Excel. Чтобы узнать, какие типы содержимого можно вставить, на вкладке Вставка в группе Текст нажмитекнопку Объект. В поле Тип объекта отображаются только программы, которые установлены на компьютере и поддерживают объекты OLE.
При копировании данных между Excel или любой программой, которая поддерживает OLE, например Word, вы можете скопировать их как связанный объект или внедренный объект. Основные различия между связанными и внедренными объектами заключается в том, где хранятся данные и как обновляется объект после его конечный файл. Внедренные объекты хранятся в книге, в которую они вставляются, и не обновляются. Связанные объекты остаются отдельными файлами, и их можно обновлять.
Связанные и внедренные объекты в документе
1. Внедренный объект не имеет подключения к исходным файлам.
2. Связанный объект связан с исходным файлом.
3. Исходный файл обновляет связанный объект.
Когда использовать связанные объекты
Если вы хотите, чтобы данные в конечный файл обновлялись при исходный файл изменения, используйте связанные объекты.
При связываемом объекте исходные данные сохраняются в исходном файле. В конечном файле отображается представление связанных данных, но хранится только расположение исходных данных (и размер, если объект является объектом диаграммы Excel). Исходный файл должен оставаться доступным на компьютере или в сети, чтобы сохранить связь с исходными данными.
Связанные данные могут обновляться автоматически при изменении исходных данных в исходном файле. Например, если вы вы выбрали абзац в документе Word, а затем вклеили его как связанный объект в книгу Excel, то при изменении сведений в документе Word сведения могут обновляться в Excel.
Когда использовать внедренные объекты
Если вы не хотите обновлять скопированные данные при их внесении в исходный файл, используйте внедренный объект. Версия источника полностью внедрена в книгу. При копировании данных как внедренных объектов в файле назначения требуется больше места на диске, чем при связываи.
Когда пользователь открывает файл на другом компьютере, он может просмотреть внедренный объект, не имея доступа к исходным данным. Поскольку внедренный объект не имеет ссылок на исходный файл, он не обновляется при изменении исходных данных. Чтобы изменить внедренный объект, дважды щелкните его, чтобы открыть и изменить в программе-источнике. На компьютере должна быть установлена программа-источник (или другая программа, которая может редактировать объект).
Изменение способа отображения объекта OLE
Вы можете отобразить связанный объект или внедренный объект в книге точно так же, как в программа-источник или в качестве значка. Если книга будет просмотрена в Интернете и вы не собираетесь ее печатать, вы можете отобразить объект в виде значка. Таким образом уменьшается объем отображаемого пространства, занимаемого объектом. Пользователи, которые хотят отобразить сведения, могут дважды щелкнуть значок.
Итог, сохраняем в bat файл и пробуем:
::Запуск в контексте пользователя
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\" /s
if %errorlevel%==0 reg add "HKLM\SOFTWARE\Microsoft\Office\Common\COM Compatibility\" /v "Compatibility Flags" /t reg_dword /d 8388608 /f
reg query "HKLM\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\" /s
if %errorlevel%==0 reg add "HKLM\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\" /v "Compatibility Flags" /t reg_dword /d 8388608 /f
reg query "HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\Common\COM Compatibility\" /s
if %errorlevel%==0 reg add "HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\Common\COM Compatibility\" /v "Compatibility Flags" /t reg_dword /d 8388608 /f
reg query "HKLM\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\ActiveX Compatibility\" /s
if %errorlevel%==0 reg add "HKLM\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\ActiveX Compatibility\" /v "Compatibility Flags" /t reg_dword /d 8388608 /f
Итог, сохраняем в bat файл и пробуем:
::Запуск в контексте пользователя
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\" /s
if %errorlevel%==0 reg add "HKLM\SOFTWARE\Microsoft\Office\Common\COM Compatibility\" /v "Compatibility Flags" /t reg_dword /d 8388608 /f
reg query "HKLM\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\" /s
if %errorlevel%==0 reg add "HKLM\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\" /v "Compatibility Flags" /t reg_dword /d 8388608 /f
reg query "HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\Common\COM Compatibility\" /s
if %errorlevel%==0 reg add "HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\Common\COM Compatibility\" /v "Compatibility Flags" /t reg_dword /d 8388608 /f
reg query "HKLM\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\ActiveX Compatibility\" /s
if %errorlevel%==0 reg add "HKLM\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\ActiveX Compatibility\" /v "Compatibility Flags" /t reg_dword /d 8388608 /f
::Запуск в контексте пользователя
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\" /s
if %errorlevel%==0 reg add "HKLM\SOFTWARE\Microsoft\Office\Common\COM Compatibility\" /v "Compatibility Flags" /t reg_dword /d 8388608 /f
reg query "HKLM\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\" /s
if %errorlevel%==0 reg add "HKLM\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\" /v "Compatibility Flags" /t reg_dword /d 8388608 /f
reg query "HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\Common\COM Compatibility\" /s
if %errorlevel%==0 reg add "HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\Common\COM Compatibility\" /v "Compatibility Flags" /t reg_dword /d 8388608 /f
reg query "HKLM\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\ActiveX Compatibility\" /s
if %errorlevel%==0 reg add "HKLM\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\ActiveX Compatibility\" /v "Compatibility Flags" /t reg_dword /d 8388608 /f
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
Блин!
Ведь сам же всем втолковывал старый принцип: "Работает? Не трогай!"
Заинтересовался новым подходом. Решил попробовать улучшить.
Ну и получил в результате в имеющемся файле:[vba]
Блин!
Ведь сам же всем втолковывал старый принцип: "Работает? Не трогай!"
Заинтересовался новым подходом. Решил попробовать улучшить.
Ну и получил в результате в имеющемся файле:[vba]
С уважением,
Алексей
MS Excel 2003 - the best.
[/vba], а в новом при попытке вставить на лист текстбокс "Вставка объекта неосуществима" Автор - Alex_ST
Дата добавления - 10.10.2016 в 14:42
Alex_ST, Без паники! Проверь в ручном режиме указанные разделы реестра и наличие параметра и его значение. Я если что могу по TeamViewer подключиться и помочь. Возможно есть особенность в твоей среде.
Alex_ST, Без паники! Проверь в ручном режиме указанные разделы реестра и наличие параметра и его значение. Я если что могу по TeamViewer подключиться и помочь. Возможно есть особенность в твоей среде. IVAndron
Я в корпоративной доменной сети на работе, обкоцанной проксями, файерволлами и антивирью.
Подключение извне невозможно. Проверяли.
У меня комп Win7, x86, у меня на компе учётка администратора
Поискал в реестре, потом сделал запрос в командном режиме:[vba]
C:\>reg query "HKLM\SOFTWARE\Microsoft\Office\Common\COM Compatibility\
Ошибка: Не удается найти указанный раздел или параметр в реестре.
C:\>reg query "HKLM\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\"
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\7053240-CE69-11CD-A777-00DD01143C57>
Compatibility Flags REG_DWORD 0x800000
AlternateCLSID REG_SZ
[/vba]
Видно, что первый раздел реестра не найден, а во втором скрипт нормально отработал.
Может быть, это из-за того, что у меня офис ломаный (ну не купленный же, естественно )?
Я в корпоративной доменной сети на работе, обкоцанной проксями, файерволлами и антивирью.
Подключение извне невозможно. Проверяли.
У меня комп Win7, x86, у меня на компе учётка администратора
Поискал в реестре, потом сделал запрос в командном режиме:[vba]
C:\>reg query "HKLM\SOFTWARE\Microsoft\Office\Common\COM Compatibility\
Ошибка: Не удается найти указанный раздел или параметр в реестре.
C:\>reg query "HKLM\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\"
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\7053240-CE69-11CD-A777-00DD01143C57>
Compatibility Flags REG_DWORD 0x800000
AlternateCLSID REG_SZ
[/vba]
Видно, что первый раздел реестра не найден, а во втором скрипт нормально отработал.
Может быть, это из-за того, что у меня офис ломаный (ну не купленный же, естественно )? Alex_ST
С уважением,
Алексей
MS Excel 2003 - the best.
Я в корпоративной доменной сети на работе, обкоцанной проксями, файерволлами и антивирью.
Подключение извне невозможно. Проверяли.
У меня комп Win7, x86, у меня на компе учётка администратора
Поискал в реестре, потом сделал запрос в командном режиме:[vba]
C:\>reg query "HKLM\SOFTWARE\Microsoft\Office\Common\COM Compatibility\
Ошибка: Не удается найти указанный раздел или параметр в реестре.
C:\>reg query "HKLM\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\"
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\7053240-CE69-11CD-A777-00DD01143C57>
Compatibility Flags REG_DWORD 0x800000
AlternateCLSID REG_SZ
[/vba]
Видно, что первый раздел реестра не найден, а во втором скрипт нормально отработал.
Может быть, это из-за того, что у меня офис ломаный (ну не купленный же, естественно )? Автор - Alex_ST
Дата добавления - 11.10.2016 в 09:15
Нашёл и скачал Process Monitor
Запустил, выставил фильтры.
Обнаружил, что при запуске Excel и попытке вставить на лист TextBox идёт запрос Compatibility Flags только из ветки HKLM\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\ \Compatibility Flags
Заменил там значение 400 на 800000
Всё заработало!
Вот теперь и вопрос: как предложенную процедуру сделать универсальной, если разделы реестра с нужным ключом на разных компах разные?
Нашёл и скачал Process Monitor
Запустил, выставил фильтры.
Обнаружил, что при запуске Excel и попытке вставить на лист TextBox идёт запрос Compatibility Flags только из ветки HKLM\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\ \Compatibility Flags
Заменил там значение 400 на 800000
Всё заработало!
Вот теперь и вопрос: как предложенную процедуру сделать универсальной, если разделы реестра с нужным ключом на разных компах разные? Alex_ST
С уважением,
Алексей
MS Excel 2003 - the best.
Alex_ST, Удали из раздела HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\7053240-CE69-11CD-A777-00DD01143C57>
параметр - AlternateCLSID REG_SZ
Alex_ST, Удали из раздела HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\
параметр - AlternateCLSID REG_SZ IVAndron
Всем Добрый вечер. Не часто к Вам обращаюсь за помощью. Но сейчас конкретно прижало. Как-то написал довольно объемный VBA проект для составления отчетов на работе. Вот уже где-то полгода пользовался. Сегодня утром сел за компьютер и столкнулся с такой проблемой. На листах находятся множество кнопок, переключателей и т.д. Ни один из них не нажимается. Выскакивает ошибка Object required на первый же элемент в коде. Элемент на месте, название такое же. Кнопки не работают. Эксель переходит в режим работы с рисунками. Свойства объекта не отображаются. Виндовс не переустанавливал. Ничего не менял. Просто запустил файл. Дома Виндовс 32 бит. Переустановил Эксель. Не помогло. Съездил на работу за ноутбуком. Там Виндовс 64 бит. То же самое. Открываю новую книгу Эксель и не могу поместить на лист никаких элементов. Пишет вставка объекта не осуществима.
Пожалуйста, может кто сталкивался с такой проблемой, что произошло. Как ее решить, завтра к утру нужен отчет, пообещал Заказчику, ПОМОГИТЕ, ГОРЮ
Всем Добрый вечер. Не часто к Вам обращаюсь за помощью. Но сейчас конкретно прижало. Как-то написал довольно объемный VBA проект для составления отчетов на работе. Вот уже где-то полгода пользовался. Сегодня утром сел за компьютер и столкнулся с такой проблемой. На листах находятся множество кнопок, переключателей и т.д. Ни один из них не нажимается. Выскакивает ошибка Object required на первый же элемент в коде. Элемент на месте, название такое же. Кнопки не работают. Эксель переходит в режим работы с рисунками. Свойства объекта не отображаются. Виндовс не переустанавливал. Ничего не менял. Просто запустил файл. Дома Виндовс 32 бит. Переустановил Эксель. Не помогло. Съездил на работу за ноутбуком. Там Виндовс 64 бит. То же самое. Открываю новую книгу Эксель и не могу поместить на лист никаких элементов. Пишет вставка объекта не осуществима.
Пожалуйста, может кто сталкивался с такой проблемой, что произошло. Как ее решить, завтра к утру нужен отчет, пообещал Заказчику, ПОМОГИТЕ, ГОРЮ Dмитрий
Хочу предупредить: все описанные ниже действия вы выполняете на свой страх и риск и автор статьи не несет никакой ответственности за потерю каких-либо данных(в том числе форматов) вследствие неосторожного использования инструкции, а так же за какой-либо ущерб, включая все без исключения случаи упущенной выгоды или потери данных, либо других денежных потерь, ставших результатом использования или невозможности использования инструкции, даже если автор был заранее поставлен в известность о возможности подобного рода ущерба.
- Закрыть Excel (желательно вообще все окна и приложения)
- Нажать одновременно клавишу "Windows" и "R" (или нажать на панели задач кнопку ПУСК и выбрать команду Выполнить. В Windows 7 и выше она может отсутствовать и её необходимо будет отобразить через настройку меню Пуск)
- Ввести в поле команду: %APPDATA%\Microsoft\Forms и нажать Enter
В XP обычно это папка:
C:\Documents and Settings\%USERNAME%\Application Data\Microsoft\Forms\
В Win7:
C:\Users\%USERNAME%\AppData\Roaming\Microsoft\Forms\ - В открывшейся папке удалить все файлы с расширением EXD
- Так же не помешает удалить файлы с расширением EXD из временных папок Excel и VBE: %Temp%\Excel8.0\, %Temp%\VBE\, %USERPROFILE%\Local Settings\Temp\, %USERPROFILE%\Local Settings\Temp\Excel8.0\, %SystemRoot%\Temp\VBE\, %SystemRoot%\Temp\Excel8.0\
Если каких-то папок нет или в них нет файлов EXD - значит все хорошо и там ничего критичного нет.
fixMS_Hay.zip (423 bytes, 6 230 скачиваний)
Само содержание BAT-ника выглядит так:
@echo off del "%APPDATA%\Microsoft\Forms\*.exd" del "%APPDATA%\Microsoft\Excel\*.xlb" del "%APPDATA%\Roaming\Microsoft\Forms\*.exd" del "%Temp%\VBE\*.exd" del "%Temp%\Excel8.0\*.exd" del "%APPDATA%\Microsoft\Local\*.exd" del "%USERPROFILE%\Local Settings\Temp\*.exd" del "%USERPROFILE%\Local Settings\Temp\VBE\*.exd" del "%USERPROFILE%\Local Settings\Temp\Excel8.0\*.exd" del "%SystemRoot%\Temp\VBE\*.exd" del "%SystemRoot%\Temp\Excel8.0\*.exd"
Если использовали Способ1 или Способ2 , то для верности необходимо запустить файл с проектом VBA, открыть код(Alt+F11) и внести в код любые изменения (можно просто добавить или изменить любой комментарий), после чего скомпилировать проект в ручном режиме из меню: Debug=>Compile VBAProject. Сохранить файл. Попробовать работу ActiveX, в том числе на других ПК.
СПОСОБ 3
Ну и конечно, самый верный способ для тех, кому нечего терять :-) Переустановка Windows. Можно еще попробовать сделать откат обновлений, но что-то я не уверен, что этим дело решится. Переустановка офиса тоже не всегда помогает, судя по отзывам тех, кто столкнулся с проблемой. Т.е. переустановка может помочь, а может и нет. Как поступить в этом случае решайте сами.
СПОСОБ 4
Ждать выпуска исправления проблемы от Microsoft, которые он кстати, обещал выпустить в ближайшее время. Так что может даже кому-то есть смысл подождать.
Ну и напоследок хотел бы сказать - элементы ActiveX сами по себе считаются устаревшими и я бы не рекомендовал их использовать без крайней необходимости, во избежание ситуаций, описанных в этой статье. Для запуска макроса кнопкой есть и другие методы, более стабильные.
Статья помогла? Сделай твит, поделись ссылкой с друзьями!
Хочу предупредить: все описанные ниже действия вы выполняете на свой страх и риск и автор статьи не несет никакой ответственности за потерю каких-либо данных(в том числе форматов) вследствие неосторожного использования инструкции, а так же за какой-либо ущерб, включая все без исключения случаи упущенной выгоды или потери данных, либо других денежных потерь, ставших результатом использования или невозможности использования инструкции, даже если автор был заранее поставлен в известность о возможности подобного рода ущерба.
- Закрыть Excel (желательно вообще все окна и приложения)
- Нажать одновременно клавишу "Windows" и "R" (или нажать на панели задач кнопку ПУСК и выбрать команду Выполнить. В Windows 7 и выше она может отсутствовать и её необходимо будет отобразить через настройку меню Пуск)
- Ввести в поле команду: %APPDATA%\Microsoft\Forms и нажать Enter
В XP обычно это папка:
C:\Documents and Settings\%USERNAME%\Application Data\Microsoft\Forms\
В Win7:
C:\Users\%USERNAME%\AppData\Roaming\Microsoft\Forms\ - В открывшейся папке удалить все файлы с расширением EXD
- Так же не помешает удалить файлы с расширением EXD из временных папок Excel и VBE: %Temp%\Excel8.0\, %Temp%\VBE\, %USERPROFILE%\Local Settings\Temp\, %USERPROFILE%\Local Settings\Temp\Excel8.0\, %SystemRoot%\Temp\VBE\, %SystemRoot%\Temp\Excel8.0\
Если каких-то папок нет или в них нет файлов EXD - значит все хорошо и там ничего критичного нет.
fixMS_Hay.zip (423 bytes, 6 230 скачиваний)
Само содержание BAT-ника выглядит так:
@echo off del "%APPDATA%\Microsoft\Forms\*.exd" del "%APPDATA%\Microsoft\Excel\*.xlb" del "%APPDATA%\Roaming\Microsoft\Forms\*.exd" del "%Temp%\VBE\*.exd" del "%Temp%\Excel8.0\*.exd" del "%APPDATA%\Microsoft\Local\*.exd" del "%USERPROFILE%\Local Settings\Temp\*.exd" del "%USERPROFILE%\Local Settings\Temp\VBE\*.exd" del "%USERPROFILE%\Local Settings\Temp\Excel8.0\*.exd" del "%SystemRoot%\Temp\VBE\*.exd" del "%SystemRoot%\Temp\Excel8.0\*.exd"
Если использовали Способ1 или Способ2 , то для верности необходимо запустить файл с проектом VBA, открыть код(Alt+F11) и внести в код любые изменения (можно просто добавить или изменить любой комментарий), после чего скомпилировать проект в ручном режиме из меню: Debug=>Compile VBAProject. Сохранить файл. Попробовать работу ActiveX, в том числе на других ПК.
СПОСОБ 3
Ну и конечно, самый верный способ для тех, кому нечего терять :-) Переустановка Windows. Можно еще попробовать сделать откат обновлений, но что-то я не уверен, что этим дело решится. Переустановка офиса тоже не всегда помогает, судя по отзывам тех, кто столкнулся с проблемой. Т.е. переустановка может помочь, а может и нет. Как поступить в этом случае решайте сами.
СПОСОБ 4
Ждать выпуска исправления проблемы от Microsoft, которые он кстати, обещал выпустить в ближайшее время. Так что может даже кому-то есть смысл подождать.
Ну и напоследок хотел бы сказать - элементы ActiveX сами по себе считаются устаревшими и я бы не рекомендовал их использовать без крайней необходимости, во избежание ситуаций, описанных в этой статье. Для запуска макроса кнопкой есть и другие методы, более стабильные.
Статья помогла? Сделай твит, поделись ссылкой с друзьями!
Читайте также: