Worddatei im Hintergrund öffnen, speichern und schließen.
Hallo,
ich suche nach einer Möglichkeit, Worddateien zu öffnen, zu speichern und zu schließen, das alles im Hintergrund und in allen Unterverzeichnissen. Hintergrund ist das hier genannte Problem.
Hat da jemand was parat?
kristov
ich suche nach einer Möglichkeit, Worddateien zu öffnen, zu speichern und zu schließen, das alles im Hintergrund und in allen Unterverzeichnissen. Hintergrund ist das hier genannte Problem.
Hat da jemand was parat?
kristov
Please also mark the comments that contributed to the solution of the article
Content-ID: 205004
Url: https://administrator.de/contentid/205004
Printed on: December 14, 2024 at 00:12 o'clock
6 Comments
Latest comment
Hallo kristov,
schmeiß das Script mal in den Ordner unter dem die Worddateien liegen und stelle sicher, dass keine der Dateien geöffnet ist.
*.vbs
Das Script meldet sich, wenn es durch ist.
Grüße
rubberman
schmeiß das Script mal in den Ordner unter dem die Worddateien liegen und stelle sicher, dass keine der Dateien geöffnet ist.
*.vbs
Option Explicit
Dim oFSO, oWord, sErr
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oWord = CreateObject("Word.Application")
If Not IsObject(oWord) Then WScript.Quit
oWord.DisplayAlerts = 0
oWord.Visible = False
processDocs oFSO.GetParentFolderName(WScript.ScriptFullName)
oWord.Quit
Set oWord = Nothing
Set oFSO = Nothing
MsgBox "Fehlgeschlagene Dateien: " & vbNewLine & sErr, vbInformation Or vbSystemModal, "FERTIG"
Sub processDocs(sFolder)
Dim oFolder, oSubfolder, oFile, oDoc
Set oFolder = oFSO.GetFolder(sFolder)
For Each oSubFolder In oFolder.SubFolders
processDocs oSubFolder.Path
Next
Set oSubfolder = Nothing
For Each oFile In oFolder.Files
If InStr(1, oFSO.GetExtensionName(oFile.Name), "doc", vbTextCompare) = 1 Then
On Error Resume Next
Set oDoc = oWord.Documents.Open(oFile.Path)
Err.Clear
On Error Goto 0
If IsObject(oDoc) Then
oDoc.Save
oDoc.Close
Set oDoc = Nothing
Else
sErr = sErr & oFile.Path & vbNewLine
End If
End If
Next
Set oFile = Nothing
Set oFolder = Nothing
End Sub
Grüße
rubberman
Hallo kristov,
ja, das ist auch nicht weiter kompliziert.
sListFile musst du entsprechend anpassen. Aufpassen, dass immer absolute Pfade in der Liste stehen.
Grüße
rubberman
ja, das ist auch nicht weiter kompliziert.
Option Explicit
Const sListFile = "list.txt"
Dim oFSO, oListFile, oWord, oDoc, sDocPath, sErr
Set oFSO = CreateObject("Scripting.FileSystemObject")
If Not oFSO.FileExists(sListFile) Then
MsgBox "Liste nicht gefunden.", vbCritical Or vbSystemModal, "FEHLER"
WScript.Quit
End If
Set oListFile = oFSO.OpenTextFile(sListFile)
On Error Resume Next
Set oWord = CreateObject("Word.Application")
Err.Clear
On Error Goto 0
If Not IsObject(oWord) Then
MsgBox "MS Word konnte nicht geöffnet werden.", vbCritical Or vbSystemModal, "ERROR"
WScript.Quit
End If
oWord.DisplayAlerts = 0
oWord.Visible = False
While Not oListFile.AtEndOfStream
sDocPath = Trim(oListFile.ReadLine)
If sDocPath <> "" Then
If oFSO.FileExists(sDocPath) Then
If InStr(1, oFSO.GetExtensionName(sDocPath), "doc", vbTextCompare) = 1 Then
On Error Resume Next
Set oDoc = oWord.Documents.Open(sDocPath)
Err.Clear
On Error Goto 0
If IsObject(oDoc) Then
oDoc.Save
oDoc.Close
Set oDoc = Nothing
Else
sErr = sErr & sDocPath & vbNewLine
End If
Else
sErr = sErr & sDocPath & vbNewLine
End If
Else
sErr = sErr & sDocPath & vbNewLine
End If
End If
Wend
oWord.Quit
oListFile.Close
Set oListFile = Nothing
Set oWord = Nothing
Set oFSO = Nothing
MsgBox "Fehlgeschlagene Dateien: " & vbNewLine & sErr, vbInformation Or vbSystemModal, "FERTIG"
sListFile musst du entsprechend anpassen. Aufpassen, dass immer absolute Pfade in der Liste stehen.
Grüße
rubberman
Hi,
das Script hat mir schon weitergeholfen. Kann man auch eine Änderung in der Datei mit einbauen ? Es ist gaanz egal welche. Letztendlich geht es darum, das die Metafiles in der Datei nicht gespeichert werden (Reg hab ich angepasst und "manuell" funktioniert es auch). Dazu muss aber eine Änderung in der Datei erfolgen.
LG
das Script hat mir schon weitergeholfen. Kann man auch eine Änderung in der Datei mit einbauen ? Es ist gaanz egal welche. Letztendlich geht es darum, das die Metafiles in der Datei nicht gespeichert werden (Reg hab ich angepasst und "manuell" funktioniert es auch). Dazu muss aber eine Änderung in der Datei erfolgen.
LG