Office: (Office 2007) Logdatei für einen Exceldatei erstellen

Helfe beim Thema Logdatei für einen Exceldatei erstellen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, ich brächte mal wieder eure Hilfe. Ich habe eine Excel Datei mit dem Dateinamen "Regalübersicht". Meine Frage dazu ist, ist es möglich... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von hans35_66, 27. Juli 2011.

  1. Logdatei für einen Exceldatei erstellen


    Hallo zusammen,

    ich brächte mal wieder eure Hilfe.
    Ich habe eine Excel Datei mit dem Dateinamen "Regalübersicht".
    Meine Frage dazu ist, ist es möglich eine log.txt beim öffnen der Exceldatei mitlaufen zu lassen, und den jeweiligen "User", Datum und was er macht zB. speichert oder ohne Änderung wieder verläst, darin abzuspeichern.

    gruß Hans

    :)
     
    hans35_66, 27. Juli 2011
    #1
  2. Hallo Hans,

    schon wieder ich ;-))

    Ein Ansatz:

    ' **********************************************************************
    ' Modul: DieseArbeitsmappe Typ: Element der Mappe(Sheet, Workbook, ...)
    ' **********************************************************************

    Option Explicit

    Private Sub Workbook_BeforeClose(Cancel As Boolean)
    logFile "Close (" & IIf(Me.Saved, "S", "Uns") & "aved)"
    End Sub

    Private Sub Workbook_BeforePrint(Cancel As Boolean)
    logFile "Print (" & Application.ActivePrinter & ")"
    End Sub

    Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    logFile "Save"
    End Sub

    Private Sub Workbook_NewSheet(ByVal Sh As Object)
    logFile "Sheet Add", Sh.Name
    End Sub

    Private Sub Workbook_Open()
    logFile "Open"
    End Sub

    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    logFile "Change", Sh.Name, Target.Address(0, 0), Target(1, 1).Value
    End Sub

    ' **********************************************************************
    ' Modul: Modul1 Typ: Allgemeines Modul
    ' **********************************************************************

    Option Explicit

    Public Sub logFile(ByVal Action As String, Optional Sheet As String, Optional ByVal Target As String, Optional ByVal Value As String)
    Dim strLogFile As String, strTmp As String, strAux As String * 12

    strLogFile = ThisWorkbook.Path & Application.PathSeparator & ThisWorkbook.Name & "_log.txt"

    'oder
    'strLogFile = "C:\Ordner\log.txt"

    strTmp = Format(Now, "dd.MM.yyyy hh:mm:ss") & vbTab
    strAux = Environ("USERNAME")
    strTmp = strTmp & strAux
    strAux = Action
    strTmp = strTmp & strAux
    If Len(Sheet) Then strAux = Sheet: strTmp = strTmp & strAux
    If Len(Target) Then strAux = Target: strTmp = strTmp & strAux
    If Len(Value) Then strTmp = strTmp & Value


    Open strLogFile For Append As #1
    Print #1, strTmp
    Close #1

    End Sub





    « Gruß Sepp »
     
    josef e, 29. Juli 2011
    #2
  3. Danke, werde ich am Montag sofort probieren.

    Weis ja jetzt schon das es funktioniert wenn Du das machst.

    gruß Hans
     
    hans35_66, 29. Juli 2011
    #3
  4. Logdatei für einen Exceldatei erstellen

    Hallo Josef,

    hat bestens funktioniert.
    Ist es auch möglich Änderungen der Spalten "G" und "I-K"zuspeichern.
    z.B so "G geändert" oder "G20" geändert wenn "G20" geändert wurde.

    Das andere past so.

    gruß Hans
     
    hans35_66, 1. August 2011
    #4
  5. Hallo Hans,

    anbei der angepasste Code. Beim LogFile werden jetzt neue Einträge in der ersten Zeile hinzugefügt.

    ' **********************************************************************
    ' Modul: DieseArbeitsmappe Typ: Element der Mappe(Sheet, Workbook, ...)
    ' **********************************************************************

    '// Module : DieseArbeitsmappe, VBA Dokument
    '// Author : j.ehrensberger (j.ehrensberger@aon.at)
    '// Created : 30.07.2011 - 16:31
    '// Modified : 30.07.2011
    '// Purpose : LogFile

    Option Explicit

    Private Sub Workbook_BeforeClose(Cancel As Boolean)
    logFile "Close (" & IIf(Me.Saved, "S", "Uns") & "aved)"
    End Sub

    Private Sub Workbook_BeforePrint(Cancel As Boolean)
    logFile "Print (" & Application.ActivePrinter & ")"
    End Sub

    Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    logFile "Save"
    End Sub

    Private Sub Workbook_NewSheet(ByVal Sh As Object)
    logFile "Sheet Add", Sh.Name
    End Sub

    Private Sub Workbook_Open()
    logFile "Open"
    End Sub

    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    Select Case Target(1, 1).Column
    Case 7, 9 To 11
    logFile "Change", Sh.Name, Target.Address(0, 0), IIf(Target(1, 1).HasFormula, _
    Target(1, 1).FormulaLocal & " » ", "") & Target(1, 1).Value
    Case Else
    End Select
    End Sub

    ' **********************************************************************
    ' Modul: Modul1 Typ: Allgemeines Modul
    ' **********************************************************************

    '// Module : Modul1, Modul
    '// Author : j.ehrensberger (j.ehrensberger@aon.at)
    '// Created : 30.07.2011 - 16:32
    '// Modified : 30.07.2011
    '// Purpose : LogFile

    Option Explicit

    Public Sub logFile(ByVal Action As String, Optional Sheet As String, Optional ByVal Target As String, Optional ByVal Value As String)
    Dim strLogFile As String, strTmp As String, strOld As String
    Dim strUser As String * 12
    Dim strAction As String * 15
    Dim strSh As String * 12
    Dim strAddr As String * 12
    Const strSep As String = ", "

    strLogFile = ThisWorkbook.Path & Application.PathSeparator & ThisWorkbook.Name & "_log.txt"

    'oder
    'strLogFile = "C:\Ordner\log.txt"

    strTmp = Format(Now, "dd.MM.yyyy hh:mm:ss") & strSep
    strUser = Environ("USERNAME")
    strTmp = strTmp & strUser & strSep
    strAction = Action
    strTmp = strTmp & strAction & strSep

    If Len(Sheet) Then strSh = Sheet: strTmp = strTmp & strSh & strSep
    If Len(Target) Then strAddr = Target: strTmp = strTmp & strAddr & strSep
    If Len(Value) Then strTmp = strTmp & Left(Value, 1024)

    If Right(strTmp, Len(strSep)) = strSep Then strTmp = Left(strTmp, Len(strTmp) - Len(strSep))

    Open strLogFile For Binary As #1
    strOld = Space$(LOF(1))
    Get #1, , strOld
    Close #1

    strTmp = strTmp & vbCrLf & strOld

    Open strLogFile For Output As #1
    Print #1, strTmp
    Close #1

    End Sub





    « Gruß Sepp »
     
    josef e, 1. August 2011
    #5
  6. Hallo Josef,

    funktioniert bestens.

    gruß Hans
     
    hans35_66, 3. August 2011
    #6
Thema:

Logdatei für einen Exceldatei erstellen

Die Seite wird geladen...
  1. Logdatei für einen Exceldatei erstellen - Similar Threads - Logdatei Exceldatei erstellen

  2. Power Query Import von Exceldatei

    in Microsoft Excel Hilfe
    Power Query Import von Exceldatei: Hallo in die Runde! Ich habe ein etwas komisches Problem. Beim Import einer Exceldatei "verschwindet" eine Zelle. In der letzten Zeile der Tabelle steht in in der Spalte A die Firmenbezeichnung...
  3. Beim Import von Exceldatei Spalte hinzufügen und füllen

    in Microsoft Access Hilfe
    Beim Import von Exceldatei Spalte hinzufügen und füllen: Guten Morgen, ich bin noch recht neu in der Materie. Ich habe mehrere Dateien gleicher Struktur, die automatisiert importiert werden. Um diese später mit einer UNION-Abfrage weiter zu bearbeiten...
  4. Eine Exceldatei in Powerpoint einbetten und diese in pdf wandeln

    in Microsoft PowerPoint Hilfe
    Eine Exceldatei in Powerpoint einbetten und diese in pdf wandeln: Ich möchte eine Exceltabelle in Powerpoint einbetten. Die pptx. am Ende in pdf wandeln und schließlich per Mail versenden. Wie bekomme ich das hin, dass die Tabelle aus der versendeten pdf...
  5. Worddokument mit verknüpfter Exceldatei verschieben

    in Microsoft Word Hilfe
    Worddokument mit verknüpfter Exceldatei verschieben: Hallo, ich habe eine Worddatei (Bericht für Kunde A) erstellt, in welcher ich verschiedene Berechnungsergebnisse mithilfe einer Verknüpfung aus Excel eingefügt habe. Nun möchte ich für Kunde B...
  6. Zeile in 2. Exceldatei kopieren wenn Bedingung erfüllt ist

    in Microsoft Excel Hilfe
    Zeile in 2. Exceldatei kopieren wenn Bedingung erfüllt ist: Hallo! Wir haben eine Excel-Quelldatei. Aus dieser sollen nur Zeilen in eine 2. Datei kopiert werden, wenn in der Quelle eine Bedingung erfüllt ist (Wert Spalte C = "123XYZ"). Am besten soll...
  7. Werte von einer Exceldatei in andere Exceldatei einfügen

    in Microsoft Excel Hilfe
    Werte von einer Exceldatei in andere Exceldatei einfügen: Hi zusammen, mein Problem ist, ich habe eine Materialliste (Excelliste) und will anhand von dieser mir Werte ausgeben lassen, in einer extra Exceldatei. Ich will nur die Artikelnummer eingeben...
  8. Auswertung einer Logdatei - Bitte um Hilfe-

    in Microsoft Excel Hilfe
    Auswertung einer Logdatei - Bitte um Hilfe-: Hallo, ich muß eine Logdatei auswerten, dafür sind meine Excel Kenntnisse nicht ausreichend. Hoffe ihr könnt mir weiter helfen. Also ich habe folgende Tabelle: Spalte A Spalte C...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden