TKSoft-Online

Makros und deren Eigenschaften auslesen PDF Drucken E-Mail
( 0 Votes )
MS-Access Codes - Codeschnipsel DB Objekte
  
Dienstag, den 28. Oktober 2008 um 12:00 Uhr

Problemstellung:

Wie kann ich die Makros und deren Eigenschaften auslesen?
Auch wenn Makros buggy sind kann es doch mal vorkommen
das man diese zu Dokumentationszwecken auslesen will.

Ich habe mal 2 Lösungen vorbereitet.

1. Für jedes Makro wird eine eigene Textdatei geschrieben.

Private Sub Read_Makros1(sPath As String)
    
Dim obj As Object
    
Dim db As DAO.Database
    
Dim FileName As String
    
Set db = CurrentDb
    
For Each obj In db.Containers("Scripts").Documents
        FileName = sPath & obj.Name & ".txt"
        Application.SaveAsText acMacro, obj.Name, FileName
    
Next obj
End Sub

 

Aufruf z.B.:

 Read_Makros1 "H:\Dokumente\Access\"

Ergebnis:


 

2. Alle Makros werden in eine Textdatei geschrieben.

Private Sub Read_Makros2(sPath As String)
    Dim sMacroTXT As String
    Dim sTmpFileName As String
    Dim objMacro As Object
    Dim db As DAO.Database
    Dim fso, fsoMakroFile, TempFolder
    Const TemporaryFolder = 2

    sMacroTXT = sPath & "DBMakros.txt"
    Set db = CurrentDb
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set TempFolder = fso.GetSpecialFolder(TemporaryFolder)
    sTmpFileName = TempFolder & "\" & fso.GetTempName

    Set fso = CreateObject("Scripting.FileSystemObject")
    Set TempFolder = fso.GetSpecialFolder(TemporaryFolder)
    Set fsoMakroFile = fso.OpenTextFile(sMacroTXT, 2, True)

    fsoMakroFile.WriteLine "Alle Makros der Datenbank"

    For Each objMacro In db.Containers("Scripts").Documents
        fsoMakroFile.WriteBlankLines (1)
        fsoMakroFile.WriteLine "'Makro: " & objMacro.Name
        fsoMakroFile.WriteBlankLines (1)
        Application.SaveAsText acMacro, objMacro.Name, sTmpFileName
        fsoMakroFile.Write fso.OpenTextFile(sTmpFileName, 1).ReadAll
        fso.DeleteFile sTmpFileName
    Next objMacro

    fsoMakroFile.Close: Set fsoMakroFile = Nothing
    Set fso = Nothing
    db.Close: Set db = Nothing
End Sub

 

Aufruf z.B.:

 Read_Makros2 "H:\Dokumente\Access\"

Ergebnis:


 

 

DatumKlicks
Total1240
Mi. 233
Di. 223
So. 203
Sa. 192
Fr. 182
Mi. 161
Mo. 141
Aktualisiert ( Donnerstag, den 01. Juli 2010 um 08:26 Uhr )
 

Kommentar schreiben


Sicherheitscode
Aktualisieren

Login

Latest Comments

Latest Forum Posts

Mehr »

Download Statistik

41 Kategorien
187 Dateien
173466 Downloads