2013-08-28 7 views
5

Chcę utworzyć moduł kodu z VBA. Kiedy już moduł kodu Wiem, że mogę ustawić go za pomocą:Jak mogę utworzyć moduł kodu w VBA

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

Ale jeśli moduł kod nie istnieje, w jaki sposób można go utworzyć?

Próbowałem kilka wierszy jak:

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

Ale oni nie pracowali. Mam też Googled, ale to nie wydaje się popularnym tematem.

+1

Chcę zaktualizować niektóre pliki Excel. Oni już mają zaktualizowany kod VBA. Ale nie mają przycisków, które aktywują wymienione skrypty VBA. – user1283776

+1

Zobacz ten link http://www.cpearson.com/excel/vbe.aspx – user3357963

+4

. Czy nie powinieneś kopiować przycisków z arkusza źródłowego do miejsca docelowego? – Chel

Odpowiedz

6

Ten pracował dla mnie:

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 

Można również AddFromFile jeśli masz pliki .bas już eksportowane i chcesz załadować do skoroszytu.

Powiązane problemy