Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Dateien mit Makros suchen

Dateien mit Makros suchen
20.04.2005 15:50:56
Bettina
Hallo,
ich möchte in Excel-Makros Änderungen vornehmen. Leider gibt es hier sehr viele Excel-Dateien und man kann ja bekanntlich nicht auf den ersten Blick erkennen, ob diese ein Makro beinhalten oder nicht.
Gibt es eine Möglichkeit, diese Dateien zu erkennen und eine Liste mit Dateinamen und Pfad auszugeben?
Vielen Dank im Voraus.
Bettina
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dateien mit Makros suchen
20.04.2005 16:20:34
Rolf
Hallo Bettina,
wenn du Bettina Steinbeck bist,
hattest du kürzlich von mir einen
Code bekommen, der die Verweise einer Datei ausgibt
siehe
https://www.herber.de/forum/archiv/596to600/t597867.htm#597867
den könntest du um diese CodeCheck-Funktion, der du als Argument
den Dateinamen (Prämisse: Datei ist geöffnet) übergibst ergänzen.
fG
Rolf
'Code-Check

Function CodeCheck(wb As String) As Boolean
On Error GoTo protected
Dim vb, vbc As Object
Dim cl
cl = 0
Set vb = Workbooks(wb).VBProject.VBComponents
For Each vbc In vb
cl = cl + vbc.CodeModule.CountOfLines
If cl > 0 Then
CodeCheck = True
Exit Function
End If
Next
CodeCheck = False
Exit Function
protected:
If Err.Number = 50289 Then
CodeCheck = True
Else
MsgBox "Beim Codecheck ist ein Fehler aufgetreten" & Chr(10) & _
"Das Programm wird beendet"
End
End If
End Function

Anzeige
AW: Dateien mit Makros suchen
20.04.2005 16:24:25
Bettina
Ja, das bin ich.
Was ist mit "(Prämisse: Datei ist geöffnet)" gemeint? Es sollte, wenn möglich wie auch beim ersten Problem nur ein Verzeichnis angegeben werden müssen.
Aber es ist prinzipiell möglich, herauszufinden, ob eine Datei ein Makro enthält oder nicht?
LG
AW: Dateien mit Makros suchen
20.04.2005 16:39:30
Rolf
Hallo Bettina,
Datei runter laden + ausprobieren -
und sag mal, ob's klappt.
hG
Rolf
https://www.herber.de/bbs/user/21430.xls
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Dateien mit Makros suchen und verwalten


Schritt-für-Schritt-Anleitung

Um Excel-Dateien zu finden, die Makros enthalten, kannst Du eine Funktion verwenden, die die Codezeilen in den geöffneten Dateien überprüft. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu, indem Du im Menü auf Einfügen und dann auf Modul klickst.

  3. Kopiere den folgenden VBA-Code in das Modul:

    Function CodeCheck(wb As String) As Boolean
    On Error GoTo protected
    Dim vb, vbc As Object
    Dim cl
    cl = 0
    Set vb = Workbooks(wb).VBProject.VBComponents
    For Each vbc In vb
        cl = cl + vbc.CodeModule.CountOfLines
        If cl > 0 Then
            CodeCheck = True
            Exit Function
        End If
    Next
    CodeCheck = False
    Exit Function
    protected:
    If Err.Number = 50289 Then
        CodeCheck = True
    Else
        MsgBox "Beim Codecheck ist ein Fehler aufgetreten" & Chr(10) & _
        "Das Programm wird beendet"
        End
    End If
    End Function
  4. Um die Funktion zu verwenden, rufe sie in einer anderen Sub oder Funktion auf, indem Du den Namen der Arbeitsmappe übergibst.

  5. Du kannst das Makro jetzt testen, um herauszufinden, ob die Datei Makros enthält.


Häufige Fehler und Lösungen

  • Error 50289: Dieser Fehler tritt auf, wenn Du versuchst, auf die VBA-Projekte von nicht geöffneten Dateien zuzugreifen. Stelle sicher, dass die Datei, die Du überprüfen möchtest, geöffnet ist.

  • Kein Ergebnis: Wenn keine Dateien gefunden werden, überprüfe den Dateipfad und stelle sicher, dass Du die richtigen Berechtigungen hast, um auf die Dateien zuzugreifen.


Alternative Methoden

Wenn Du keine VBA-Programmierung verwenden möchtest, gibt es auch andere Möglichkeiten, um zu überprüfen, ob eine Datei ein Makro enthält:

  • Dateiendung überprüfen: Dateien mit der Endung .xlsm oder .xls sind Makro-fähig. Du kannst in Windows den Explorer nutzen, um nach diesen Dateiendungen zu filtern.

  • Excel-Datei öffnen: Manchmal kannst Du beim Öffnen einer Datei sehen, ob es Makros gibt, da Excel Dich darauf hinweist.


Praktische Beispiele

Hier sind ein paar Beispiele, wie Du die oben genannte Funktion verwenden kannst:

  1. Überprüfen einer geöffneten Datei:

    Sub CheckIfMacroExists()
        Dim fileName As String
        fileName = "DeineDatei.xlsm"
        If CodeCheck(fileName) Then
            MsgBox "Die Datei enthält Makros."
        Else
            MsgBox "Die Datei enthält keine Makros."
        End If
    End Sub
  2. Liste aller Makro-fähigen Dateien in einem Verzeichnis: Du könntest die Dir-Funktion verwenden, um alle Dateien in einem bestimmten Verzeichnis zu durchsuchen und die CodeCheck-Funktion auf jede anzuwenden.


Tipps für Profis

  • Schneller Zugriff auf Makros: Erstelle eine benutzerdefinierte Schnellzugriffsleiste in Excel, um häufig verwendete Makros schnell zu erreichen.

  • Sicherungskopien erstellen: Bevor Du Änderungen an Makros vornimmst, erstelle immer eine Sicherungskopie der Datei, um Datenverluste zu vermeiden.

  • Dokumentation: Halte alle Änderungen an den Makros in einer separaten Datei fest, um den Überblick zu behalten.


FAQ: Häufige Fragen

1. Kann ich die Funktion verwenden, wenn die Datei geschlossen ist?
Nein, die Funktion benötigt die Datei, um geöffnet zu sein, da sie auf die VBA-Projekte zugreift.

2. Gibt es eine Möglichkeit, alle Dateien in einem Verzeichnis auf Makros zu überprüfen?
Ja, Du kannst eine Schleife verwenden, um alle Dateien in einem Verzeichnis durchzugehen und die CodeCheck-Funktion auf jede anzuwenden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige