2015-10-07 2 views
6

ОК, поэтому я должен изучить VBA в своей новой области работы, поскольку мы используем Excel для более или менее того, что угодно. Встроенный редактор VBA в Excel приводит меня в бешенство - похоже, что он не предназначен для эффективного написания кода.Использование Sublime Text или Notepad ++ в качестве редактора и построителя для VBA

Я использую Sublime Text для всех целей кодирования в последние годы. There's a plug-in for writing VBA in Sublime, но я не понимаю, как связать мой Sublime написанный код с моими документами Excel. Скажем, я пытаюсь запустить следующий файл

Sub test() 
    Debug.Print "Hello, World" 
End Sub 

из Sublime Text, я получаю следующее из консоли [Finished in 0.1s], но без печати.

Мой вопрос заключается в следующем: есть ли у кого-нибудь решение для запуска VBA в Excel из Sublime Text или Notepad ++? Я все еще массивный noob в VBA, поэтому было бы неплохо иметь возможность увидеть эффекты в книге Excel рядом с тестированием кода.

+0

Это дополнение для [тег: VBScript] не VBA. Они очень разные. VBA можно компилировать и выполнять только в собственной среде IDE, которая может использоваться только в Office. –

+0

Почему, по вашему мнению, редактор VBA неэффективен? Он основан на тех же принципах правильной IDE и позволяет [tag: IntelliSense], который является одним из самых больших преимуществ VBA. Sublime text и NotePad ++ - это просто расширенные текстовые редакторы с подсветкой синтаксиса, а не IDE. –

+0

@MacroMan Ooo, должен был поймать, что плагин для vbscript. Думаю, я ожидал, что он будет существовать, и не проверил его полностью. Вы уверены, что VBA можно компилировать и выполнять только в собственной среде IDE? – Holene

ответ

2

Проблема с VBA код и писать его в возвышенном, что VBA встроен в Excel, так что вы не можете просто создать макросы, которые Вы пишете в Блистательной


  • Одно решение это написание VBA код и копирование вставки в редактор VBA (упомянутый выше). Это не управляет, когда вы начинаете работать с несколькими модулями, классами и т.д.

  • Второй подход заключается в использовании импорт/экспорт функциональности VBA. Вы можете экспортировать свои модули и классы в файлы *.bas и *.cls и редактировать их непосредственно в Sublime Text. Для этого вы можете использовать макросы с сайта Ron De Bruin. Просто скопируйте код в отдельный модуль, и он экспортирует весь код, который у вас есть в currect project, в отдельные файлы, которые вы можете редактировать в Sublime Text. После внесения изменений в Sublime просто импортируйте все файлы обратно в редактор VBA с помощью макроса. Вы можете изменить код VBA немного, а закомментировав

 

If wkbSource.VBProject.Protection = 1 Then 
    MsgBox "The VBA in this workbook is protected," & _ 
     "not possible to export the code" 
    Exit Sub 
End If 

... в противном случае он не будет импортировать обратно в ту же таблицу.