Zitat:
Wenn ich nun aber nur eine Datei offen habe
Aufgrund deiner Ausführungen am Anfang des Threads bin ich davon ausgegangen, dass das nicht passieren kann. Aber kein Problem, ich habe das Script so abgeändert, dass so geprüft wird, ob ein Dokument "Unbenannt 1" geöffnet ist, wenn ja, wird es gelöscht. Dann wird geprüft, ob ein Dokument geöffnet ist, wenn ja, wird eine neue dok.txt erstellt, andernfalls werden die Dokument geladen. Du kannst also nicht ein Dokument öffnen und dann zusätzlich die Dokumente aus der dok.txt laden, aber umgekehrt geht es natürlich. Irgendwie muss das Script ja erkennen, ob es laden oder speichern soll.
Anbei das geändert Script. Bitte genau so kopieren, sonst habe ich Probleme, wenn du eine Fehlermeldung zitierst, wie "Error in Line xxx".
Code:
'------------------------------------------------
' Aus den geöffneten TM-Dokumenten wird eine
' Datei >dok.txt< erstellt
' die bei einem späteren Start automatisch geladen werden
' Stand 01.03.2012
' ------------------------------------------------
Dim tm as Object
Dim Zeile as String
set fs = CreateObject("Scripting.FileSystemObject")
Set tm = CreateObject("TextMaker.Application")
tm.Application.Visible = True
tm.Activate
If tm.Application.Documents.Item(1).Name = "Unbenannt 1" then
tm.Application.Documents.Item(1).Close
End if
If tm.Documents.Count > 0 then
Open "C:\Users\xxx\Documents\SoftMaker\dok.txt" For Output As #1 ' Datei anlegen
for x = 1 to tm.Documents.Count
print #1, tm.Documents(x).FullName
next x
close #1
Else
if fs.fileExists("C:\Users\Dewes\Documents\SoftMaker\dok.txt") then
Open "C:\Users\Dewes\Documents\SoftMaker\dok.txt" For Input As #1
Do While Not EOF(1)
Line Input #1, zeile ' Zeile einlesen
tm.Documents.Open zeile
Loop
Close #1
else
msgbox("Datei >dok.txt< nicht gefunden")
end if
End if
Set tm = Nothing