VBA modul másolása - Excel tippek

Tartalomjegyzék

Michelle ezt írja:

Kidolgoztunk egy Excel alkalmazást, amely egyedi Excel munkafüzetet állít elő az 54 brókernek történő terjesztéshez. Több VBA-makrót is be kell építenem az 54 Excel-munkafüzetbe, amelyeket terjesztenek a brókereknek. Hogyan másolhatok egy VBA modult az eredeti Excel munkafüzetből minden új Excel munkafüzetbe?

Remek kérdés, Michelle. Könnyű használni a Sheets (). Copy parancsot, hogy munkalapot másoljon egy új munkafüzetbe, de nem olyan egyszerű másolni egy modult az új munkafüzetbe. A megoldás magában foglalja a modul egyszeri exportálását, majd az elkészült 54 54 bróker munkafüzetbe történő importálást. Itt van a kód egy része a megoldással.

' Delete any old stray copies of the module1 On Error Resume Next Kill ("C:MrXL1.bas") On Error GoTo 0 ' Export Module 1 ActiveWorkbook.VBProject.VBComponents("module1").Export ("c:MrXL1.bas") For x = 1 to 54 ThisBroker = Sheets("BrokerList").range("A" & x).value '… customization of plan omited for brevity Sheets(Array("Menu", "Plan")).Copy NBName = ActiveWorkbook.Name ' new book name ' Import Module 1 to this new book Application.VBE.ActiveVBProject.VBComponents.Import ("c:MrXL1.bas") ActiveWorkbook.SaveAs Filename:=ThisBroker ActiveWorkbook.Close Next x Kill ("C:MrXl1.bas")

A VBE.ActiveProject.VBComponents.Export és VBE.ActiveProject.VBComponents … Az Import parancsok gondoskodnak arról, hogy a makrókat az új könyvekbe másolják.

Az Excel 2002 és újabb verzióiban kifejezetten engedélyeznie kell, hogy egy makró kódot adjon hozzá egy munkafüzethez. Nyissa meg az Eszközök, Makró, Biztonság elemet. Kattintson a 2. fülre: Megbízható kiadók. A bal alsó sarokban válassza a Visual Basic Project megbízható hozzáférését. Az Excel 2007 programban lépjen az Office Icon, az Excel Options, a Trust Center, a Trust Center Settings, a Macro Settings elemekre, és válassza a VBA projektobjektum modell megbízható hozzáférését.

Vigyázat

A modulok exportálására és importálására szolgáló parancsok, valamint az új makrók beírására szolgáló parancsok egy meglévő munkafüzetbe együttesen Visual Basic Extensibility vagy VBE néven ismertek. Ha a munkafüzete bármilyen VBE parancsot használ, akkor nagy az esély arra, hogy a munkafüzetet víruskeresők jelöljék meg. Ez hamis pozitív. Az állítólagos vírus nevében szinte mindig "heurisztikus" van a névben. Ez azt jelenti, hogy a szkenner olyan DLL-hívásokat lát, amelyek gyanúsnak tűnnek, de amelyek nem feltétlenül egyeznek meg az ismert vírusokkal. Általában írhat az antivírus szoftver gyártójának, és kérheti, hogy az Excel munkafüzete fehér listára kerüljön, miután elmagyarázta, hogy mit csinál, és miért jó ez.

érdekes cikkek...