2013-04-26 3 views
0

У нас есть летняя база данных Access, в которой используется элемент Treeview и справочник Excel Office. С некоторыми обновлениями для Windows мы столкнулись с проблемами с Treeview (генерирует случайные ошибки в элементе управления ActiveX для каждого ввода: перемещение мыши, щелчок мышью и т. Д.). Некоторые клиенты используют Access 2003 (мы, 2007), и поэтому при первом открытии базы данных возникают некоторые ошибки, потому что ссылки должны быть скорректированы.Используйте ссылки на Office и TreeView OCX из файла

Я хочу решить эти проблемы, воспользовавшись ссылкой на Office 2003 (я думаю, это должно быть MSO.dll) и сохранить его в базе данных как объект OLE. При запуске я хочу «извлечь» файл и использовать его в качестве справочной информации для офисных библиотек, поэтому я отчасти не зависим от установленной версии Office на машине. Кроме того, я думал о том, чтобы делать то же самое с MSCOMCTL.OCX, чтобы он больше не мог быть поврежден из обновлений Windows. Я надеюсь получить больше стабильности в приложении.

Мои вопросы: возможно ли вообще использовать ссылки в офисе из локального файла вместо окна dir?

И можно ли использовать элемент управления ActiveX непосредственно из локального файла вместо зарегистрированного через RegSvr32?

Если да, то любые ссылки или информация о том, как достичь этого, будем очень благодарны.

С наилучшими пожеланиями,

Matthias

+1

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

ответ

1

честно, я не знаю, если это возможный, но я, конечно, будет делать все возможное, чтобы не идти по этому пути. Потенциал для еще хуже проблемы стабильности и общая странность были бы значительными. Я бы толкать или для

  • стандартизации по кабинету версии (не 2003), или

  • с помощью элемента управления TreeView третьей стороны от авторитетного разработчика и использовать позднее связывание заменить ссылку Excel (ы).

+0

Возможно, я нашел решение для ссылок Excel. У меня просто будет таблица с именами ссылок разных Excel-версий, и если кто-то сломается, я посмотрю, существуют ли другие. Также кажется, что функция References.AddFromFile, может быть, я могу использовать ее для обработки ссылочной проблемы. Я буду искать стороннее дерево, но как это будет предусмотрено. Как файл ocx тоже? Может быть, я могу использовать MS treeview OCX таким же образом, чтобы он не зависел от обновлений Microsoft? –

 Смежные вопросы

  • Нет связанных вопросов^_^