Alex_Geer
@Alex_Geer
System Engineer

Можно ли заинклудить файл с кодом в VBA Excel?

Добрый день! Есть SQL запрос на 70 строк и длиной 1860 символов. Встроенный IDE в Excel не хочет принимать всё ни в строку ни построчно. Только разбиения запроса на 6+ переменных и потом a + b + c + d + e + f.
Но потом редактировать этот запрос и вносить изменения крайне не удобно! Вопрос в следующем могу ли я взять вынести этот запрос в отдельный файл и подключать например как в php через функцию "include"? Если так можно сделать подскажите функцию пожалуста!
  • Вопрос задан
  • 93 просмотра
Пригласить эксперта
Ответы на вопрос 2
@Iv_and_S
вы можете динамически загружать модули VBA храня их в файлах.
выглядит это примерно так:
'загружает - вызывает функцию - удаляет модуль
Sub Main()
    Dim oXL As Application
    Set oXL = Application
    
    Dim vbMod As Object
    Set vbMod = oXL.VBE.ActiveVBProject.VBComponents.Import("C:\Users\User\Desktop\Hi.bas")
    oXL.Run "MsgShow"
    
    oXL.VBE.ActiveVBProject.VBComponents.Remove vbMod
End Sub

'код который нужно вызвать, нужно хранить в файле с расширением .bas
Sub MsgShow()
    MsgBox "Hi from file"
End Sub

P.S.
НО, сомневаюсь что решение вашей задачи в этом.
Если какой то код "не впихивается" в редактор, он сильно врядли будет работать из файла.
VBA вполне себе позволяет встраивать SQL запросы.
думаю у вас какая то проблема с синтаксисом либо кодировкой.
лучше дополнить ваш вопрос SQL запросом.
Ответ написан
Комментировать
BasiC2k
@BasiC2k
.NET developer (open to job offers)
Можно конечно. Пишете запрос в текстовый файл. После запуска макроса - считываете файл, извлекаете текст и используете для запроса.

PS Что-то подсказывает мне, что Вам уже нужно искать другой инструмент, а не использовать "костыли"
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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