Tässä artikkelissa luomme makron toisen makron poistamiseksi moduulista.
Käytämme moduulia 1, joka sisältää SampleProcedure -mallinäytteen, jonka haluamme poistaa.
Koodin selitys
Aseta VBCM = WB.VBProject.VBComponents (DeleteFromModuleName) .CodeModule
Yllä olevaa koodia käytetään määritetyn moduulin objektin luomiseen.
ProcStartLine = VBCM.ProcStartLine (Menettelyn nimi, vbext_pk_Proc)
Yllä olevaa koodia käytetään määritetyn menettelyn aloitusrivin numeron saamiseen.
ProcLineCount = VBCM.ProcCountLines (Toimenpiteen_nimi, vbext_pk_Proc)
Yllä olevaa koodia käytetään laskemaan rivien määrä määritetyssä menettelyssä.
VBCM.DeleteLines ProcStartLine, ProcLineCount
Yllä olevaa koodia käytetään poistamaan kaikki rivit määritetyn menettelyn sisällä.
Seuraa koodia alla
Vaihtoehto Explicit Sub DeleteProcedureCode (ByVal DeleteFromModuleName As String, ByVal ProcedúraName As String) 'Ilmoittavat muuttujat Dim VBCM As CodeModule, ProcStartLine Long, ProcLineCount As Long Dim WB Työkirjana Virhe Jatka Seuraava' Aktiivisen työkirjasarjan luominen WB = työkirjamoduulin objekti Aseta VBCM = WB.VBProject.VBComponents (DeleteFromModuleName) .CodeModule 'Tarkasta, onko menettely olemassa koodimoduulissa Jos ei VBCM ei ole mitään sitten ProcStartLine = 0' Toiminto, joka antaa rivin nro. Proseduurin aloituslinjasta ProcStartLine = VBCM.ProcStartLine (Menettelyn_nimi, vbext_pk_Proc) Jos ProcStartLine> 0 Sitten 'Funktio antaa nro. rivistä menettelyssä ProcLineCount = VBCM.ProcCountLines (ProcedureName, vbext_pk_Proc) 'Poista kaikki rivit menettelyssä VBCM.DeleteLines ProcStartLine, ProcLineCount End If Set VBCM = Nothing End If On Error GoTo 0 End Sub Subing CallingProcedure Dim ModuleName, ProcedName As String 'Moduulin ja menettelyn nimen arvon saaminen tekstiruuduista
Jos pidit tästä blogista, jaa se ystävillesi Facebookissa. Voit myös seurata meitä Twitterissä ja Facebookissa.
Haluaisimme kuulla sinusta, kerro meille, kuinka voimme parantaa työtämme ja parantaa sitä sinulle. Kirjoita meille sähköpostitse