Я пытаюсь программно импортировать пространство имен Microsoft.Office.Interop.Excel
в мой проект vba. Я нашел this site , который показывает, как импортировать его вручную, но я даю этот проект, над которым я работал, людям, которые не знают, как его импортировать. Кто-нибудь может помочь?Программно импортировать пространство имен Microsoft.Office.Interop.Excel в проекте VBA
ответ
Я предполагаю из вашего вопроса, что ваш код VBA использует ссылку на библиотеку Microsoft Excel 12.0 (или другую версию), и что ваш пользователь получает сообщение об ошибке, поскольку ссылка не может быть найдена. В этом случае у вас есть два варианта:
- Вместо ссылки на библиотеку v12 обратитесь к старой библиотеке, например. из Excel 2003. Для этого выполните поиск в сети для этой библиотеки и установите ее - или просто «повторно подключите» ваш файл в установке Office 2003 перед отправкой.
- Используйте последнее связывание вместо раннего связывания. В этом случае вы не добавляете ссылку на библиотеку Excel вообще. Вместо этого вы объявляете свои объекты как тип
Object
(вместоExcel.Workbook
,Excel.Application
и т. Д.). Чтобы создать новый объект, вместо использованияSet objExcelApp = New Excel.Application
, вы должны теперь использоватьCreateObject
(для новых объектов) илиGetObject
(для существующих объектов, например существующего, запущенного приложения):Set objExcelApp = CreateObject("Excel.Application")
. Любой более поздний код будет продолжать работать как обычно (хотя он может быть немного медленнее из-за позднего связывания).
Для дальнейшего уточнения отметьте это answer.
Извините за поздний ответ, я путешествовал. Но большое спасибо Петру! Я собираюсь начать последнее связывание всего сейчас :) –
Добро пожаловать! Только недостаток позднего связывания: вы не получаете IntelliSense, показывая свои свойства в редакторе. Поэтому я обычно разрабатываю с ранним связыванием с поздним связыванием перед отправкой ... –
- 1. Импорт пространства имен Microsoft.Office.Interop.Excel
- 2. Как импортировать пространство имен?
- 3. Как правильно импортировать пространство имен в проекте TypScript?
- 4. Как импортировать пространство имен System.Linq в Boo?
- 5. Как импортировать пространство имен с помощью 'require'?
- 6. C#, как импортировать пространство имен сразу
- 7. Как импортировать Microsoft.Office.Interop.Excel в консольное приложение?
- 8. Microsoft.Office.Interop.Excel отсутствует в списке имен компонентов
- 9. Как импортировать lodash прямо в пользовательское пространство имен в JavaScript
- 10. пространство имен циркулярной импорта
- 11. машинопись: импортировать все классы не в новое пространство имен
- 12. Как импортировать PHPMailer в класс, который использует пространство имен?
- 13. Как импортировать дамп mediawiki в новое пространство имен
- 14. Как импортировать перечисление в другое пространство имен на C++?
- 15. PHP: Как импортировать пространство подпространств в основном пространстве имен?
- 16. Как импортировать пространство имен автоматически в Visual Studio 2012?
- 17. Как импортировать lxml xpath в пространство имен по умолчанию?
- 18. Резервное пространство имен обновлений для всех файлов в проекте
- 19. Как получить все пространство имен в проекте по сборке?
- 20. Невозможно использовать пространство имен System в проекте Visual C++ ATL
- 21. Как исправить пространство имен, не определяемое в новом проекте папок?
- 22. не может использовать пространство имен в проекте Сайт
- 23. Тип или пространство имен, не найденное в проекте управления пользователями
- 24. Где в проекте ASP.NET WebForms можно найти пространство имен «System.Web.UI.Control»?
- 25. Пространство имен Entity не отображается в проекте Silverlight
- 26. Как расширить назначенное пространство имен
- 27. Пространство имен элемента, объявляющего пространство имен?
- 28. Переопределить пространство имен в Python
- 29. Я получаю ошибку при использовании Microsoft.Office.Interop.Excel; Пространство имен с элементами управления новой точкой синтаксиса в C#
- 30. Пространство имен IInvokeProvider?
Не могли бы вы пояснить: если у вас есть проект VBA (в Excel?), Зачем вам нужно импортировать какое-либо пространство имен? Вы имеете в виду ссылку «Reference» (= VBA) в библиотеку Excel? Пространство имен - это термин .NET, обычно не используемый в контексте VBA ... –
Возможный дубликат [Предотвращение компиляции Excel VBA из-за того, что у пользователей установлена более старая версия MS Office (MS Outlook)] (http: // stackoverflow. com/questions/9491314/prevent-excel-vba-compile-errors-due-to-users-have-old-version-of-ms-o) –