Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1252to1256
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

Makros im Verzeichnis entfernen

Makros im Verzeichnis entfernen
obelix-xxl
Hallo,
ich habe ein Verzeichnis mit Excelmappen. Jeder Excelmappe enthält ein gleiches Makro. Diese Makro möchte ich in allen Excelmappen mit einem Befehl, einem Makro auf einmal entfernen können.
Wie muss ich hier vorgehen?
Für Eure Antworten danke ich.
obelix
AW: Makros im Verzeichnis entfernen
09.03.2012 16:48:45
Josef

Hallo Obelix,
probiere mal.
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub removeCodeFromFiles()
  Dim objWB As Workbook
  Dim strPath As String, strFile As String
  Dim lngCalc As Long
  
  On Error GoTo ErrExit
  
  With Application
    .ScreenUpdating = False
    .EnableEvents = False
    lngCalc = .Calculation
    .Calculation = xlCalculationManual
    .DisplayAlerts = False
  End With
  
  strPath = "E:\Temp" 'Verzeichnis - Anpassen!
  
  strPath = IIf(Right(strPath, 1) = "\", strPath, strPath & "\")
  
  strFile = Dir(strPath & "*.xls*")
  
  Do While strFile <> ""
    Set objWB = Workbooks.Open(strPath & strFile)
    deleteAllCodeAndModules objWB
    objWB.Close True
    strFile = Dir
  Loop
  
  ErrExit:
  
  With Err
    If .Number <> 0 Then
      MsgBox "Fehler in Prozedur:" & vbTab & "'removeCodeFromFiles'" & vbLf & String(60, "_") & _
        vbLf & vbLf & IIf(Erl, "Fehler in Zeile:" & vbTab & Erl & vbLf & vbLf, "") & _
        "Fehlernummer:" & vbTab & .Number & vbLf & vbLf & "Beschreibung:" & vbTab & _
        .Description & vbLf, vbExclamation + vbMsgBoxSetForeground, _
        "VBA - Fehler in Modul - Modul1"
      .Clear
    End If
  End With
  
  On Error GoTo 0
  
  With Application
    .ScreenUpdating = True
    .EnableEvents = True
    .Calculation = lngCalc
    .DisplayAlerts = True
  End With
  
  Set objWB = Nothing
End Sub


Private Sub deleteAllCodeAndModules(ByVal WBook As Workbook)
  Dim objVBComp As Object
  With WBook.VBProject
    For Each objVBComp In .vbComponents
      If objVBComp.Type = 100 Then
        With .vbComponents(objVBComp.Name).CodeModule
          .DeleteLines 1, .CountOfLines
        End With
      Else
        .vbComponents.Remove objVBComp
      End If
    Next
  End With
End Sub



« Gruß Sepp »

Anzeige
AW: Makros im Verzeichnis entfernen
obelix
Hallo Sepp,
soeben habe ich deinen Lösungsvorschlag versucht umzusetzen.
EXCEL 2000
Ergebnis:
1. den von dir zugesendeten Code habe ich in ein neues Modul in einer neuen Arbeitsmappe eingetragen, gespeichert und gestartet.
2. Ergebnis: Fehlermeldung Fehlernummer 52 Beschreibung Dateiname oder -nummer falsch
3. Habe ich die falsche Excel-Version?
4. Was habe ich falsch gemacht und was sollte ich ändern?
Über eine Antwort würde ich mich freuen.
obelix
AW: Makros im Verzeichnis entfernen
10.03.2012 09:24:36
Josef

Hallo Obelix,
das Verzeichnis hast du angepasst?

« Gruß Sepp »

Anzeige
AW: Makros im Verzeichnis entfernen
obelix
Hallo Sepp,
danke für den Hinweis. Das hatte ich im Code nicht berücksichtigt. Da fehlt mir auch die VBA-Erfahrung.
Den richtigen Pfad habe ich eingesetzt, die Arbeitsmappe gespeichert und gestartet.
Jetzt läuft dein Makro, jedoch sind die im Pfad stehenden Exceldateien noch nicht makrofrei.
Beim Aufruf dieser Dateien wird weiterhin abgefragt, ob Makros gestartet werden sollen. Die Dateien haben noch immer die Makros gespeichert.
Muss ich im Makro weitere Einträge verändern um zum Ergebnis zu kommen?
obelix
AW: Makros im Verzeichnis entfernen
10.03.2012 10:19:36
Josef

Hallo Obelix,
ich habe kein xl-2000 darum kann ich es nicht testen, ob es an der Version liegt.
Schau mal unter Extras > Makros > Sicherheit, dort muss der Zugriff aus das VBA-Projekt zugelassen sein.

« Gruß Sepp »

Anzeige
Vorsicht
10.03.2012 10:24:41
ransi
HAllo Obelix
Josefs Code löscht alle Makros in den Dateien.
Und zwar unwideruflich.
Deine Eingangsfrage hatte ich so verstanden das nur ein bestimmtes Makro aus den Datein entfernt werden soll.
Zum Testen würde ich so vorgehen:
Erstelle eine Kopie des Ordners mit den fraglichen Dateien.
Jetzt setzt du Sepps Code auf diese Kopie an.
Erst wenn Sepps Code das Gewünschte ausführt dann auf deine Originaldatein loslassen.
ransi
AW: Vorsicht ist sicher ratsam
obelix
Hallo Sepp,
hallo ransi.
Genau so wie von ransi beschrieben bin ich vorgegangen:
"Zum Testen würde ich so vorgehen:
Erstelle eine Kopie des Ordners mit den fraglichen Dateien.
Jetzt setzt du Sepps Code auf diese Kopie an.
Erst wenn Sepps Code das Gewünschte ausführt dann auf deine Originaldatein loslassen."
Schade, daß ich keine neuere Excel-Version habe. Dann scheint der Code von Sepp bei Excel 2000 nicht zu laufen.
Vielleicht hat ja hier im Forum jemand die Möglichkeit den Makro-Code von Sepp entweder in Excel 2000 oder in einer neueren Version zu testen und das Ergebnis hier mitzuteilen?
Dann wissen alle wie die richtige Vorgehensweise ist.
Danke.
obelix
Anzeige
Hast du die Makro-Optionen eingestellt?
10.03.2012 17:24:39
Josef

Hallo Obelix,
hast du, wie von mir geschrieben, den Zugriff auf das VBA-Projekt gestattet?

« Gruß Sepp »

AW: Hast du die Makro-Optionen eingestellt?
obelix
Hallo Sepp,
ja, ich habe mit allen 3 Sicherheitsstufen Dein Makro gestartet. Das Ergebnis bleibt. Die Makros in den einzelnen Excel Arbeitsmappen im Verzeichnis laufen weiter unverändert und sind noch vorhanden.
obelix
Anzeige
AW: Hast du die Makro-Optionen eingestellt?
obelix
Hallo Sepp,
ja, ich habe mit allen 3 Sicherheitsstufen Dein Makro gestartet. Das Ergebnis bleibt. Die Makros in den einzelnen Excel Arbeitsmappen im Verzeichnis laufen weiter unverändert und sind noch vorhanden.
obelix
AW: Hast du die Makro-Optionen eingestellt?
10.03.2012 18:03:12
ransi
Hallo
Ich denke Sepp meint diesen Haken:
Userbild
ransi
AW: Hast du die Makro-Optionen eingestellt?
obelix
Hallo ransi,
super deine "Wegbeschreibung".
Die untere Option kann ich in Excel 2000 nicht auswählen ?!! Dies ist bei mir auch nicht sichtbar.
Unter VERTRAUENSWÜRDIGE QUELLEN steht nur die Option Allen installierten Add-Ins und Vorlagen vertrauen.
Diese habe ich ausgewählt.
Trotzdem werden die Makros nicht wie gewünscht gelöscht.
obelix
Anzeige
Tester mit Excel 2000 gesucht
10.03.2012 18:41:14
ransi
HAllo
Gibt es in Excel 2000 die Option "Zugriff auf Visual Basic Projekt vertrauen" ?
ransi
Nein, gibts nicht
10.03.2012 19:17:57
Matthias
Hallo
Extras - Makro - Sicherheit - Sicherheitsstufe
Zugriff auf Visual Basic Projekt vertrauen" gibts in XL2000 noch nicht
Gruß Matthias
AW: Nein, gibts nicht
obelix
Hallo,
hier die mir angezeigte Version: excel 2000: 9.0.3821 SR-1
und die Einstellungen im Menue:
- Extras
- Makro
- Sicherheit
+ Sicherheitsstufe: - Hoch
- Mittel
- Niedrig
alle 3 Stufen habe ich ausprobiert
+ Vertrauenswürdige Quellen
(Fenster leer)
unterhalb des Fensters gibt nur die Möglichkeit
"Allen installierten Add-ins und Vorlagen vertrauen" anzuwählen.
Dort habe ich den Haken gesetzt, also die Auswahl getroffen.
obelix
Anzeige
AW: Nein, gibts nicht
11.03.2012 08:59:50
Hajo_Zi
Hallo,
Matthias,
hatr doch schion eindeutig geschrieben das es diese Einstellung in Version 2000 nicht gibt und Du hast es nur bestätigt.
Also Du kannst in Version 2000 und davor nicht auf das VBA Projekt zugreifen.

AW: Nein, gibts nicht
11.03.2012 09:00:06
Hajo_Zi
Hallo,
Matthias,
hatr doch schion eindeutig geschrieben das es diese Einstellung in Version 2000 nicht gibt und Du hast es nur bestätigt.
Also Du kannst in Version 2000 und davor nicht auf das VBA Projekt zugreifen.

Anzeige
AW: Nein, gibts nicht
11.03.2012 09:00:24
Hajo_Zi
Hallo,
Matthias,
hatr doch schion eindeutig geschrieben das es diese Einstellung in Version 2000 nicht gibt und Du hast es nur bestätigt.
Also Du kannst in Version 2000 und davor nicht auf das VBA Projekt zugreifen.

AW: Nervöser Finger :-) ? o.r.T.
11.03.2012 12:59:44
Gerd
Gruß Gerd
AW: Nervöser Finger :-) ? o.r.T.
13.03.2012 12:55:45
obelix-xxl
Hallo,
recht herzlichen Dank für Eure Unterstützung.
Mit Excel 2003 kann ich mit dem Makro und den angepassten Einstellung die Aufgabenstellung lösen.
Nochmals vielen Dank an alle Helfer.
obelix

18 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige