Я использую VBA для автоматизации некоторых задач в некоторых файлах Word и Excel (Office 2010) и между ними. Прямо сейчас у меня есть код VBA, который используется только Word, хранящимся в файле Word, и код VBA, который используется только в Excel, хранящемся в файле Excel, причем материал VBA с перекрестными приложениями хранится в файле Word. Тем не менее, есть некоторые пользовательские типы и константы, которые я хотел бы использовать как в специфичном для Word, так и в VBA-коде Excel. Есть ли нейтральный для приложения способ хранить эти общие типы данных и константы в отдельном модуле, например, в VBscript, где он может использоваться как Excel, так и Word, без необходимости определять их в обоих местах? Если да, как я могу ссылаться на этот внешний файл в каждом шаблоне?Использование VBscript для хранения пользовательских типов и констант для обмена данными между Word и Excel VBA?
-1
A
ответ
2
Вы можете сохранить их в .bas-файле и импортировать обновление. Для Excel, импорт с помощью:
Public Sub GetModules()
ThisWorkbook.VBProject.VBComponents("modCommons").Name = "DELETEME"
ThisWorkbook.VBProject.VBComponents.Remove ThisWorkbook.VBProject.VBComponents("DELETEME")
ThisWorkbook.VBProject.VBComponents.Import ("C:\modCommons.bas")
End Sub
modCommons.bas
Attribute VB_Name = "modCommons"
Public Const itest As Integer = 101
Public Const itest2 As Integer = 102
Public Sub TestSub
msgbox "test success"
End Sub
Для Word, заменить ThisWorkbook с ThisDocument.
+0
Спасибо! Это сработало отлично, за исключением того, что изначально я все время получал ошибку 1004 во время выполнения, что-то об объекте VBproject не удалось. Я искал эту ошибку и обнаружил, что мне нужно перейти в параметры центра доверия в моем файле Excel и проверить параметр «Доверять доступ к объектной модели проекта VBA». Когда я это сделал, все было здорово. – user3681913
Смежные вопросы
- 1. Использование Rocksdb для хранения пользовательских типов данных?
- 2. Использование NSUserDefaults для обмена данными между iOS и watchOS?
- 3. Использование PHP и C++ для обмена данными?
- 4. Использование глобальных констант для хранения переменных окружения
- 5. Использование VBA для разделения и хранения данных из ячейки Excel
- 6. Документ VBA/VBScript для Word (.docm/.dotx)
- 7. Розетка такого типа для обмена данными между Kernel и userpace
- 8. Использование сервиса игры google для обмена данными между пользователями?
- 9. Использование Enum для хранения числовых констант
- 10. Использование Enum для хранения констант объекта
- 11. Угловое использование корневой области и услуг для обмена данными
- 12. Возможно ли веб-браузер для обмена данными между Excel
- 13. Использование статической переменной для обмена данными между действиями в пакете
- 14. Использование OpenID Connect для обмена данными
- 15. VBA Чистое использование многих констант
- 16. Лучшая практика для обмена данными и уведомлениями между приложениями
- 17. Рамки для обмена данными между iOS и MacOS
- 18. NServicebus для обмена данными между клиентом и сервером?
- 19. NFC - Помощь для обмена данными между RC522 и Android HCE
- 20. Использование углового обслуживания для обмена данными между контроллерами
- 21. Ионное использование Сервис для обмена данными между контроллерами
- 22. Использование дескрипторов файлов для обмена данными между процессами
- 23. Использование POST и GET для обмена данными через конечные точки
- 24. VBScript из Excel в Word
- 25. Blockchain/IPFS для обмена данными между приложениями
- 26. Канал для обмена данными между потоками
- 27. Использование Excel VBA для выбора значения обмена в JavaScript web
- 28. CloudKit для обмена данными между пользователями
- 29. Лучшая практика для обмена данными между страницами
- 30. Оператор перегрузки = для обмена данными между классами
Вы можете сохранить его в файле где-нибудь. Но я обнаружил, что иногда полезно хранить определенные константы в качестве пользовательского свойства одного или обоих документов. –