Дополнение COM для Excel не загружается, когда Excel запускается вводным файлом

Я приветствую день, когда Доступ вдыхает его последнее дыхание и присоединяется к подобным Clippy.

Доступ полон благих намерений, но это стало опорой. Даже в крупных компаниях со способными сотрудниками IT, приложения Доступа могут работать необузданный, обеспечивая болевую точку для знания, что глобальная среда когда дело доходит до продуктов поддерживает. Связанные базы данных Access, которые указывают на другие источники данных, несохраняемые приложения Доступа, и просто сдвигают гибкость, являются проблемами, по-моему.

я думаю, что Доступ на самом деле слишком мощен, слишком гибок, и слишком расширяем для его собственной пользы. В полной благих намерений попытке Microsoft принести быструю разработку к настольной области базы данных, это действительно открыло ящик Пандоры. Посмотрите на него с другой точки зрения, также. Предположите, что компания имеет несколько приложений, которые записаны в Доступе. Разработчик, который записал им листы. Эти приложения просто достаточно важны, что они все еще должны использоваться, но не достаточно важные, что IT получает одобрение портировать их на более технологически способную платформу.

Теперь, ситуация состоит в том, что, если никто в команде не знает Доступа, это - требование для нового разработчика. Это означает, что Вам, возможно, придется передать разработчика, который является наиболее технически всесторонний и лучшее соответствие, если у него нет прерываний прежней версии. Я говорю на основе опыта на этом. Мы - до двух приложений Доступа прежней версии и пытаемся лихорадочно убедить в потребностях или включить функциональность в связанные, основанные на коде проекты или в новые собственные проекты. У меня есть один разработчик с Доступом "прерывания", и не собираюсь основывать поиск кандидата на том, знает ли кто-то Доступ или не, если он уезжает.

10
задан CtrlDot 29 March 2010 в 10:46
поделиться

1 ответ

Прошло много времени, поэтому моя память затуманилась, но я помню проблемы с запуском надстроек COM, если хост (Excel, Word) запускается как встроенный объект. То есть у вас есть документ Word со встроенным в него документом Excel (на самом деле вы видите ячейки Excel в Word). Если дважды щелкнуть внедренный файл Excel для работы с ним, Excel запускается, но Excel не загружает свои надстройки COM. Затем, когда вы запускаете Excel любым другим способом, вы на самом деле просто используете Excel, который был / уже запущен из встроенного объекта, и в нем не будет ваших надстроек COM.

Это не похоже на ваша проблема, но я подумал, что вам может понадобиться немного сочувствия. ;)

Вы используете конструктор надстроек в VB6? У меня не было проблем с этим, но вы пытаетесь отказаться от него и реализовать IDTExtensibility2 непосредственно в классе, а затем написать свои собственные записи реестра, чтобы зарегистрировать его как надстройку COM. Или сделайте это наоборот, иначе вы не используете конструктор.

Можно попробовать зарегистрировать надстройку как надстройку для всей машины, а не как надстройку пользователя. С дизайнером вы можете зарегистрироваться только как пользовательская надстройка. (Хотя для этого есть обходной путь).

Можете ли вы воспроизвести это? Вызывается ли вообще какой-либо из методов IDTExtensibility2?

Я полагаю, что могут вмешиваться другие надстройки. Вы можете загрузить мою служебную программу надстройки COM, чтобы посмотреть, какие надстройки загружены (окна надстроек COM в приложениях Office показывают только надстройки пользователя, а не надстройки компьютера).

http : //www.amosfivesix. com / download / stackoverflow /

Если надстройка полностью перестает загружаться, возможно, приложение Office отключило ее. Перейти к справке | О нас | Отключите элементы и посмотрите, есть ли они там.

В Excel есть несколько дурацких опций, связанных с DDE (которые обычно использует Explorer для открытия документов в других приложениях). Инструменты | Опции | Общие | Игнорируйте другие приложения. Посмотрите, имеет ли это значение.

Если вы не можете воспроизвести проблему, но ваш клиент может, вы можете написать для них специальную версию, которая регистрирует события IDT ..., чтобы увидеть, происходят ли они. Отправьте им макрос, который проверяет Excel.Application.Addins, чтобы узнать, есть ли у вас надстройка (я знаю, что у Word есть такая объектная модель, но не уверен в Excel, поэтому простите меня, если это не так).

Надеюсь, это поможет.

-Том

Перейти к справке | О нас | Отключите элементы и посмотрите, есть ли они там.

В Excel есть несколько дурацких опций, связанных с DDE (которые обычно использует Explorer для открытия документов в других приложениях). Инструменты | Опции | Общие | Игнорируйте другие приложения. Посмотрите, имеет ли это значение.

Если вы не можете воспроизвести проблему, но ваш клиент может, вы можете написать для них специальную версию, которая регистрирует события IDT ..., чтобы увидеть, происходят ли они. Отправьте им макрос, который проверяет Excel.Application.Addins, чтобы узнать, есть ли у вас надстройка (я знаю, что у Word есть такая объектная модель, но не уверен в Excel, поэтому простите меня, если это не так).

Надеюсь, это поможет.

-Том

Перейти к справке | О нас | Отключите элементы и посмотрите, есть ли они там.

В Excel есть несколько дурацких опций, связанных с DDE (которые обычно использует Explorer для открытия документов в других приложениях). Инструменты | Опции | Общие | Игнорируйте другие приложения. Посмотрите, имеет ли это значение.

Если вы не можете воспроизвести проблему, но ваш клиент может, вы можете написать для них специальную версию, которая регистрирует события IDT ..., чтобы увидеть, происходят ли они. Отправьте им макрос, который проверяет Excel.Application.Addins, чтобы узнать, есть ли у вас надстройка (я знаю, что у Word есть такая объектная модель, но не уверен в Excel, поэтому простите меня, если это не так).

Надеюсь, это поможет.

-Том

) Инструменты | Опции | Общие | Игнорируйте другие приложения. Посмотрите, имеет ли это значение.

Если вы не можете воспроизвести проблему, но ваш клиент может, вы можете написать для них специальную версию, которая регистрирует события IDT ..., чтобы увидеть, происходят ли они. Отправьте им макрос, который проверяет Excel.Application.Addins, чтобы узнать, есть ли у вас надстройка (я знаю, что у Word есть такая объектная модель, но не уверен в Excel, так что простите меня, если это не так).

Надеюсь, это поможет.

-Том

) Инструменты | Опции | Общие | Игнорируйте другие приложения. Посмотрите, имеет ли это значение.

Если вы не можете воспроизвести проблему, но ваш клиент может, вы можете написать для них специальную версию, которая регистрирует события IDT ..., чтобы увидеть, происходят ли они. Отправьте им макрос, который проверяет Excel.Application.Addins, чтобы узнать, есть ли у вас надстройка (я знаю, что у Word есть такая объектная модель, но не уверен в Excel, поэтому простите меня, если это не так).

Надеюсь, это поможет.

-Том

3
ответ дан 4 December 2019 в 03:39
поделиться
Другие вопросы по тегам:

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