Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1084to1088
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Programmatisches Löschewn von Markos

Programmatisches Löschewn von Markos
Markos
Hallo,
ich möchte programmatisch alle Makros aus einer Mappe löschen.
Probiert habe ich folgenden code:
Dim comp As vbcomponent
For Each comp In ActiveWorkbook.VBProject.VBComponents
ActiveWorkbook.VBProject.VBComponents.Remove comp
Next comp
Das Problem ist hierbei, das der Typ VBComponent nicht erkannt wird. Ich habe eine Reference auf Microsoft Visual Basic for Application Extensibility 5.3 hinzugefügt. Im Editor findet er auch VBIDE.VBComponent aber weder das noch nur VBComponent funktioniert. Beim Ausführen des Codes bekomme ich immer Laufzeitfehler 5. Unter Makro-Sicherheit habe ich den Zugriff auf das VB-projekt zugelassen.
Hat jemand eine Idee was hier noch schief läuft?
Viele Grüße, Johannes
Dafür dürfte es im Forumsarchiv genügend Bspp...
26.06.2009 16:51:26
Luc:-?
...geben, Johannes.
Sepp Ehrensberger hat, glaube ich, erst kürzlich etwas Vglbares angeboten...
Gruß Luc :-?
AW: Dafür dürfte es im Forumsarchiv genügend Bspp...
26.06.2009 18:20:08
Johannes
Hallo Luc,
hast Du einen Link zum Thread? Ich habs mit der Suchfunktion nicht gefunden :-(
Gruß, Johannes
Nein, da müsstest du Sepp fragen, der findet...
26.06.2009 18:28:21
Luc:-?
...seine Sachen eher...
Ansonsten mal mit Stichwort Makro+löschen suchen...
Gruß Luc :-?
AW: Programmatisches Löschewn von Markos
26.06.2009 17:16:32
Markos
Hallo Johannes,
oder so:

Sub b()
  For Each comp In ActiveWorkbook.VBProject.VBComponents  
    If comp.codemodule.countoflines > 0 Then ActiveWorkbook.VBProject.VBComponents.Remove comp  
  Next comp
End Sub  

mfg Anton
Anzeige
AW: Programmatisches Löschewn von Markos
26.06.2009 17:20:58
Markos
vergiss es.
mfg Anton
AW: Programmatisches Löschewn von Markos
26.06.2009 17:37:41
Markos

Sub b()
  Dim comp As VBComponent  
  For Each comp In ActiveWorkbook.VBProject.VBComponents  
    If comp.Type = 100 Then  
      comp.CodeModule.DeleteLines 1, comp.CodeModule.CountOfLines
    Else
      ActiveWorkbook.VBProject.VBComponents.Remove comp
    End If  
  Next
End Sub  

Anzeige
Stotterst du? 3x der selbe Betreff... orT
26.06.2009 17:59:52
Luc:-?
:-| Grrrruß Luc :-?
AW: Programmatisches Löschewn von Markos
26.06.2009 18:19:24
Markos
Hallo Anton,
das Problem ist ja, dass trotz eines Verweises auf die VBA Extensions der Typ VBComponents nicht erkannt wird. Hast Du dazu eine Idee?
Gruß, Johannes
Dim comp As Object oT
26.06.2009 18:50:15
Anton
mfg Anton
AW: Programmatisches Löschewn von Markos
26.06.2009 18:52:44
Markos
Hi,
ohne verweis mit Late Binding:
Dim comp As Object
mfg heinz
AW: Programmatisches Löschewn von Markos
26.06.2009 19:34:45
Markos
Hallo Heinz,
ich werde das am Montag versuchen, wenn ich wieder im Büro bin. Hoffentlich klappts :-)
Viele Grüße, Johannes

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige