Hallo<P> ich habe ein Modul in Excel, mit dem ich mitschreibe, wer in den letzten 7 Tagen<BR> die Datei benutzt hat. Dies funktioniert sehr gut und sieht so aus:<PRE>
'Ermitteln des Windows-Anmelde-Namens
Private Declare Function GetUserName Lib "advapi32.dll" Alias _
"GetUserNameA" (ByVal lpBuffer As String, nSize As Long) _
As Long
</PRE> <PRE>
Function UserName()
Dim sName As String
Dim nSize As Long
Dim lngResult As Long
nSize = 100
sName = Space$(100)
lngResult = GetUserName(sName, nSize)
If lngResult <> 0 Then
UserName = Left$(sName, nSize - 1)
End If
End Function
</PRE> <PRE>
Sub Zugriff()
'Zugriffsprotokoll
Dim tarWKs As Worksheet
Dim lastR As Integer, i As Integer
Set tarWKs = Worksheets("Protokoll")
Debug.Print tarWKs.Name
lastR = tarWKs.Cells(65536, 2).End(xlUp).Row + 1
Debug.Print lastR
tarWKs.Unprotect Password:="Test"
'Alte Daten löschen
With tarWKs
For i = lastR To 2 Step -1
Debug.Print .Cells(i, 2)
If Format(.Cells(i, 2), "dd.mm.yyyy") < Format(Now - 7, "dd.mm.yyyy") Then
.Rows(i).Delete Shift:=xlUp
End If
Next i
End With
lastR = tarWKs.Cells(65536, 2).End(xlUp).Row + 1
tarWKs.Cells(lastR, 2).Value = Now
tarWKs.Cells(lastR, 3).Value = Usermodul.UserName 'Windows-Anmeldung
tarWKs.Protect Password:="Test"
End Sub</PRE><BR>Nun möchte ich aber Excel in Zukunft nur noch für die Darstellungsdatei insgesamt nutzen und alles mit VB.NET steuern.<BR> Irgend wie hat er hier beim Umsetzen aber ein Problem schon mit dem Debug-Befehl. Was muss ich anders machen,<BR> wenn ich das weiter in Excel nutzen aber mit VB.NET steuern will oder kann man das umwandeln, dass die Daten<BR> in eine Textdatei geschrieben werden?
Würde mich freuen, wenn mir jemand einen Tip geben könnten.
Gruß
Angie
'Ermitteln des Windows-Anmelde-Namens
Private Declare Function GetUserName Lib "advapi32.dll" Alias _
"GetUserNameA" (ByVal lpBuffer As String, nSize As Long) _
As Long
</PRE> <PRE>
Function UserName()
Dim sName As String
Dim nSize As Long
Dim lngResult As Long
nSize = 100
sName = Space$(100)
lngResult = GetUserName(sName, nSize)
If lngResult <> 0 Then
UserName = Left$(sName, nSize - 1)
End If
End Function
</PRE> <PRE>
Sub Zugriff()
'Zugriffsprotokoll
Dim tarWKs As Worksheet
Dim lastR As Integer, i As Integer
Set tarWKs = Worksheets("Protokoll")
Debug.Print tarWKs.Name
lastR = tarWKs.Cells(65536, 2).End(xlUp).Row + 1
Debug.Print lastR
tarWKs.Unprotect Password:="Test"
'Alte Daten löschen
With tarWKs
For i = lastR To 2 Step -1
Debug.Print .Cells(i, 2)
If Format(.Cells(i, 2), "dd.mm.yyyy") < Format(Now - 7, "dd.mm.yyyy") Then
.Rows(i).Delete Shift:=xlUp
End If
Next i
End With
lastR = tarWKs.Cells(65536, 2).End(xlUp).Row + 1
tarWKs.Cells(lastR, 2).Value = Now
tarWKs.Cells(lastR, 3).Value = Usermodul.UserName 'Windows-Anmeldung
tarWKs.Protect Password:="Test"
End Sub</PRE><BR>Nun möchte ich aber Excel in Zukunft nur noch für die Darstellungsdatei insgesamt nutzen und alles mit VB.NET steuern.<BR> Irgend wie hat er hier beim Umsetzen aber ein Problem schon mit dem Debug-Befehl. Was muss ich anders machen,<BR> wenn ich das weiter in Excel nutzen aber mit VB.NET steuern will oder kann man das umwandeln, dass die Daten<BR> in eine Textdatei geschrieben werden?
Würde mich freuen, wenn mir jemand einen Tip geben könnten.
Gruß
Angie