2015-10-07 16 views
6

OK, quindi devo imparare VBA nella mia nuova linea di lavoro mentre usiamo Excel per più o meno qualsiasi cosa. L'editor VBA integrato in Excel mi fa assolutamente impazzire: sembra che non sia fatto per scrivere codice in modo efficiente.Utilizzo di Sublime Text o Notepad ++ come editor e builder per VBA

Ho utilizzato Sublime Text per tutti gli scopi di codifica degli ultimi anni. There's a plug-in for writing VBA in Sublime, ma non capisco come collegare il mio codice scritto Sublime ai miei documenti Excel. Dire che provo a fare funzionare il seguente file

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

dal Testo Sublime, ricevo il seguente fuori dalla console [Finished in 0.1s], ma non stampa.

La mia domanda è questa: qualcuno ha una soluzione per come eseguire VBA in Excel da Sublime Text o Notepad ++? Sono ancora un grande noob in VBA, quindi sarebbe bello poter effettivamente vedere gli effetti sulla cartella di lavoro di Excel accanto a testare il codice.

+0

Questo componente aggiuntivo è per [tag: VBScript] non VBA. Sono cose molto diverse. VBA può essere compilato ed eseguito solo nel proprio IDE che può essere utilizzato solo in Office. –

+0

Perché pensi che l'editor VBA sia inefficiente? Si basa sugli stessi principi di un IDE appropriato e consente [tag: IntelliSense] che è uno dei maggiori vantaggi di VBA. Sublime text e NotePad ++ sono solo editor di testo avanzati con evidenziazione della sintassi, non IDE. –

+0

@MacroMan Ooo, dovresti aver capito che il plug-in è per vbscript. Credo che mi aspettavo che esistesse, e non l'ho controllato a fondo. Sei positivo VBA può essere compilato ed eseguito solo nell'IDE nativo? – Holene

risposta

2

Il problema con il codice di VBA e la scrittura nel Sublime è che VBA è incorporato in Excel, quindi non si può semplicemente costruire le macro che si scrivono nel Sublime


  • Una soluzione a questo sta scrivendo VBA codice e copia-incolla in VBA Editor (menzionato sopra). Questo non è gestibile quando si inizia a lavorare con più moduli, classi, ecc

  • secondo approccio è quello di utilizzare la funzionalità di importazione/esportazione di VBA. È possibile esportare i moduli e le classi nei file *.bas e *.cls e modificarli direttamente in Testo sublime. Per questo è possibile utilizzare le macro dal sito Web Ron De Bruin. Basta copiare il codice in un modulo separato ed esporterà tutto il codice che hai nel progetto currect in file separati, che puoi modificare in Sublime Text. Dopo aver apportato le modifiche in Sublime, è sufficiente importare nuovamente tutti i file nell'editor VBA con la macro. Si potrebbe desiderare di cambiare il codice VBA un po 'così commentando

 

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

... altrimenti non importare di nuovo allo stesso foglio di calcolo.