Я пишу макрос CorelDraw, который извлекает некоторые данные из Excel, открывая Workbook
.Dim Workbook in CorelDraw VBA Macro не компилируется
Мне нравится объявлять свои переменные перед их использованием (а также обычно это требует Option Explicit
).
В этой подлодки, я заявляю о своей Workbook
переменную как:
Sub needsWorkbookType()
Dim notCompile As workbook
End Sub
Тем не менее, потому что я бегу это от CorelDraw, у меня нет доступа к типам Excel. Когда я пытаюсь запустить подлодку, я получаю ошибку компиляции:
- определяемые пользователем тип не определен
Я знаю, что могу обойти эту проблему, отключив явное объявление, и просто не объявляя ни одну из переменных Excel. Интерпретатор будет динамически создавать их, и он будет работать.
Но я бы предпочел, чтобы иметь возможность объявить их.
Моя система:
- для Windows 8.1
- Excel 2013
- Corel X6
Для раннего связывания вам нужно добавить ссылки на 'Microsoft Excel 14.0 Object Library'. Затем вы можете сказать 'Dim xlApp как новое Application.Excel'. Вы также можете попробовать более позднюю привязку, такую как «Dim xlApp as Object», а затем в новой строке «Установить xlApp = CreateObject (« Excel.Application »)' –
Добавить комментарий @ vba4all. Чтобы выполнить раннее связывание в Corel, в VBE, перейдите в Инструменты >> Ссылки и найдите «Библиотека объектов Microsoft Excel 14.0». Если у вас установлена более старая версия Microsoft Office, то это может быть «Microsoft Excel 12.0 Object Library» или что-то еще как это. – JNevill