2013-08-28 12 views
5

Voglio creare un modulo di codice con VBA. Quando ho già un modulo di codice so che posso impostare utilizzando:Come posso creare un modulo di codice in VBA

Set cdmdl = wbk.VBProject.VBComponents(codeModuleName).CodeModule 

Ma se il modulo di codice non esiste, come posso crearlo?

Ho provato un paio di linee come:

Set cdmdl = new.wbk.VBProject.VBComponents(codeModuleName).CodeModule 
Set cdmdl = create.wbk.VBProject.VBComponents(codeModuleName).CodeModule 

Ma non hanno funzionato. Ho anche cercato su Google, ma questo non sembra un argomento popolare.

+1

Desidero aggiornare alcuni file di Excel. Hanno già il loro codice VBA aggiornato. Ma non hanno i pulsanti che attivano detti script VBA. – user1283776

+1

Vedere questo link http://www.cpearson.com/excel/vbe.aspx – user3357963

+4

Quindi non dovresti semplicemente copiare i pulsanti dal foglio di lavoro sorgente alla destinazione? – Chel

risposta

6

Questo ha funzionato per me:

Public Function CreateModule(xlwb As Workbook) As VBComponent 
    Dim module As VBComponent 
    Set module = xlwb.VBProject.VBComponents.Add(vbext_ct_StdModule) 
    module.Name = "MyModule" 
    module.CodeModule.AddFromString "public sub test()" & vbNewLine & _ 
            " 'dosomething" & vbNewLine & _ 
            "end sub" 
    Set CreateModule = module 
End Function 

Potete anche AddFromFile se si dispone di un file BAS hai esportato e si desidera caricare in una cartella di lavoro.

Problemi correlati