Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Daten in versteckte TXT schreiben

Daten in versteckte TXT schreiben
25.11.2021 08:46:35
Christian
Hallo liebe Community,
Ich möchte in einem Textfile, das Versteckt wurde, einen oder mehrer Werte hineinschreiben.
Alles funktioniert super, solange ich die Datei nicht verstecke. Dann hängst.
Habe es mit CreateObject und mit Open probiert. Immer das selbe Problem.
Vielleicht könnt ihr mir weiterhelfen.

Sub CreateTXTDatWithOpenName()
Dim fs, a
Dim TXTFile As Integer
Dim strPath As String
Dim strName As String
Dim TXTFileName As String
Dim Dat As String
Dim Benutz As String
strPath = ThisWorkbook.Path
strName = ThisWorkbook.Name
TXTFileName = strPath + "\" + strName + "_Benutzer.txt"
Dat = Format(Now, "YYYY" & "." & "MM" & "." & "DD" & "_" & "hh" & ":" & "mm" & ":" & "ss")
Benutz = Environ$("computername") + "  --  " + Environ$("username") + "  --  " + Dat
Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.CreateTextFile(TXTFileName, True)
a.WriteLine (Benutz)
a.Close
End Sub
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: OpenTextFile
25.11.2021 08:56:13
Fennek
Hallo,
"CreateTextFile" erstellt eine neue Datei, für ein Log ist es besser mit "OpenTextFile" und der Option "forAppend" (8) zu arbeiten.
mfg
(aus dem Gedächtnis)
AW: OpenTextFile
25.11.2021 09:11:34
Christian
Ich möchte nur eine Zeile mit den Wert eingetragen haben und jedes mal wenn jemand die Excel öffnet, sollte der Wert aktualisiert werden.
Das Problem dahinter ist [Windows sei dank ;-) ]:
Die Excel liegt auf einem Server und wird von unterschiedlichen Leuten bearbeitet.
Beim Öffnen wird die Systemdatei ~[Excelname] im gleichen Ordner erstellt.
Wenn Windows jedoch in den Ruhezustand versetzt wird, wird diese Systemdatei oft gelöscht, die Excel ist jedoch immer noch gesperrt.
Problem: Jetzt weis man nicht, wer die Excel zuletzt offen gehabt hat, weil der Excel-Benutzername in der Systemdatei abgespeichert wird, die es nicht mehr gibt.
Deshalb die Log-Datei nur mit den aktellen Benutzer.
Anzeige
AW: Wer hat eine Exlcel-Datei geöffnet?
25.11.2021 09:44:02
Fennek
Hallo,
um herauszufinden, wer eine Excel-Datei geöffnet hat:
Öffnen dieser Datei mit "ReadOnly"

MsgBox ThisWorkbook.WriteReservedBy
mfg
AW: OpenTextFile
25.11.2021 09:55:31
Nepumuk
Hallo Christian,
teste mal:

Public Sub Test()
Debug.Print GetFileOwner(ActiveWorkbook.Path & "\", ActiveWorkbook.Name)
End Sub
Private Function GetFileOwner(ByVal pvstrFolder As String, ByVal pvstrFilename As String) As String
Dim securityUtility As Object
Dim securityDescriptor As Object
Set securityUtility = CreateObject("ADsSecurityUtility")
Set securityDescriptor = securityUtility.GetSecurityDescriptor(pvstrFolder & pvstrFilename, 1, 1)
GetFileOwner = securityDescriptor.Owner
Set securityDescriptor = Nothing
Set securityUtility = Nothing
End Function
Oder mit deiner Textdatei:

Public Sub CreateTXTDatWithOpenName()
Dim TXTFile As Integer
Dim strPath As String
Dim strName As String
Dim TXTFileName As String
Dim Dat As String
Dim Benutz As String
strPath = ThisWorkbook.Path
strName = ThisWorkbook.Name
TXTFileName = strPath & "\" & strName & "_Benutzer.txt"
Dat = Format(Now, "YYYY" & "." & "MM" & "." & "DD" & "_" & "hh" & ":" & "mm" & ":" & "ss")
Benutz = Environ$("computername") & "  --  " & Environ$("username") & "  --  " & Dat
TXTFile = FreeFile
If Dir$(TXTFileName, vbHidden Or vbSystem) = vbNullString Then
Open TXTFileName For Output As #TXTFile
Else
Call SetAttr(TXTFileName, vbNormal)
Open TXTFileName For Append As #TXTFile
End If
Print #TXTFile, Benutz
Close #TXTFile
Call SetAttr(TXTFileName, vbHidden Or vbSystem)
End Sub
Gruß
Nepumuk
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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