Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Worddatei im Hintergrund öffnen, speichern und schließen.

Frage Entwicklung Batch & Shell

Mitglied: kristov

kristov (Level 2) - Jetzt verbinden

15.04.2013 um 14:53 Uhr, 5252 Aufrufe, 6 Kommentare

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
Mitglied: rubberman
15.04.2013, aktualisiert um 20:14 Uhr
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
01.
Option Explicit 
02.
 
03.
Dim oFSO, oWord, sErr 
04.
Set oFSO = CreateObject("Scripting.FileSystemObject") 
05.
Set oWord = CreateObject("Word.Application") 
06.
If Not IsObject(oWord) Then WScript.Quit 
07.
oWord.DisplayAlerts = 0 
08.
oWord.Visible = False 
09.
processDocs oFSO.GetParentFolderName(WScript.ScriptFullName) 
10.
oWord.Quit 
11.
Set oWord = Nothing 
12.
Set oFSO = Nothing 
13.
MsgBox "Fehlgeschlagene Dateien: " & vbNewLine & sErr, vbInformation Or vbSystemModal, "FERTIG" 
14.
 
15.
 
16.
Sub processDocs(sFolder) 
17.
  Dim oFolder, oSubfolder, oFile, oDoc 
18.
  Set oFolder = oFSO.GetFolder(sFolder) 
19.
  For Each oSubFolder In oFolder.SubFolders 
20.
    processDocs oSubFolder.Path 
21.
  Next 
22.
  Set oSubfolder = Nothing 
23.
  For Each oFile In oFolder.Files 
24.
    If InStr(1, oFSO.GetExtensionName(oFile.Name), "doc", vbTextCompare) = 1 Then 
25.
      On Error Resume Next 
26.
      Set oDoc = oWord.Documents.Open(oFile.Path) 
27.
      Err.Clear 
28.
      On Error Goto 0 
29.
      If IsObject(oDoc) Then 
30.
        oDoc.Save 
31.
        oDoc.Close 
32.
        Set oDoc = Nothing 
33.
      Else 
34.
        sErr = sErr & oFile.Path & vbNewLine 
35.
      End If 
36.
    End If 
37.
  Next 
38.
  Set oFile = Nothing 
39.
  Set oFolder = Nothing 
40.
End Sub
Das Script meldet sich, wenn es durch ist.

Grüße
rubberman
Bitte warten ..
Mitglied: kristov
16.04.2013 um 09:34 Uhr
Hallo rubberman,

funktioniert auf Anhieb! Vielen Dank!

kristov
Bitte warten ..
Mitglied: kristov
16.04.2013 um 11:16 Uhr
Hmm... eine Bitte noch:
Könnte man es so bewerkstelligen, das nicht alle Unterverzeichnisse durchsucht werden, sondern eine Textdatei mit den Pfaden als Inhalt (zB K:\v1\verzeichnis mit leerzeichen und Umlauten\2013\word.doc) als Basis hergenommen wird? Das wäre für mich doch praktikabler...
Bitte warten ..
Mitglied: rubberman
16.04.2013 um 18:24 Uhr
Hallo kristov,

ja, das ist auch nicht weiter kompliziert.
01.
Option Explicit 
02.
 
03.
Const sListFile = "list.txt" 
04.
 
05.
Dim oFSO, oListFile, oWord, oDoc, sDocPath, sErr 
06.
Set oFSO = CreateObject("Scripting.FileSystemObject") 
07.
If Not oFSO.FileExists(sListFile) Then 
08.
  MsgBox "Liste nicht gefunden.", vbCritical Or vbSystemModal, "FEHLER" 
09.
  WScript.Quit 
10.
End If 
11.
Set oListFile = oFSO.OpenTextFile(sListFile) 
12.
On Error Resume Next 
13.
Set oWord = CreateObject("Word.Application") 
14.
Err.Clear 
15.
On Error Goto 0 
16.
If Not IsObject(oWord) Then 
17.
  MsgBox "MS Word konnte nicht geöffnet werden.", vbCritical Or vbSystemModal, "ERROR" 
18.
  WScript.Quit 
19.
End If 
20.
oWord.DisplayAlerts = 0 
21.
oWord.Visible = False 
22.
 
23.
While Not oListFile.AtEndOfStream 
24.
  sDocPath = Trim(oListFile.ReadLine) 
25.
  If sDocPath <> "" Then 
26.
    If oFSO.FileExists(sDocPath) Then 
27.
      If InStr(1, oFSO.GetExtensionName(sDocPath), "doc", vbTextCompare) = 1 Then 
28.
        On Error Resume Next 
29.
        Set oDoc = oWord.Documents.Open(sDocPath) 
30.
        Err.Clear 
31.
        On Error Goto 0 
32.
        If IsObject(oDoc) Then 
33.
          oDoc.Save 
34.
          oDoc.Close 
35.
          Set oDoc = Nothing 
36.
        Else 
37.
          sErr = sErr & sDocPath & vbNewLine 
38.
        End If 
39.
      Else 
40.
        sErr = sErr & sDocPath & vbNewLine 
41.
      End If 
42.
    Else 
43.
      sErr = sErr & sDocPath & vbNewLine 
44.
    End If 
45.
  End If 
46.
Wend 
47.
oWord.Quit 
48.
oListFile.Close 
49.
Set oListFile = Nothing 
50.
Set oWord = Nothing 
51.
Set oFSO = Nothing 
52.
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
Bitte warten ..
Mitglied: kristov
18.04.2013 um 13:43 Uhr
ja, das ist auch nicht weiter kompliziert.

Das liegt wohl im Auge des Betrachters

Nochmals vielen Dank, auch diese Deine Variante funktioniert auf Anhieb problemlos!
Bitte warten ..
Mitglied: yenz85
16.08.2016 um 16:30 Uhr
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
Bitte warten ..
Ähnliche Inhalte
Windows Netzwerk
Explorer schließen und öffnen
gelöst Frage von Questionmark93Windows Netzwerk5 Kommentare

Hallo, Ich möchte MEINE explorer.exe schließen und wieder öffnen. Wie lautet der befehl? Weil wenn ich es schließe via ...

Microsoft Office
Excel Datei per Schaltfläche schließen (ohne speichern) und gleich wieder neu öffnen
gelöst Frage von mreskeMicrosoft Office3 Kommentare

Hallo, mich würde mal interessieren ob es möglich ist, dass man eine Exceldatei per Schaltfläche schließt (ohne speichern) und ...

VB for Applications
VBS - Exceldatei öffnen, drucken und schließen
gelöst Frage von KyrinjaVB for Applications8 Kommentare

Hallöle, ich habe da ein Problemunzwar will ich mehrere Exceldateien nacheinander öffnen jeweils mit dem aktuellen Monatsnamen als Arbeitsblatt. ...

VB for Applications
Im VB-Script: Worddatei, aktualisieren, speichern und exportieren.
Frage von dila21VB for Applications5 Kommentare

Hallo zusammen, ich habe ein Script, in der ich ein Worddokument öffne (Vorlage) dieses aktualisiere und als PDF speichere. ...

Neue Wissensbeiträge
Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 10 StundenBatch & Shell8 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Humor (lol)

"gimme gimme gimme": Automatischer Test stolpert über Easter Egg im man-Tool

Information von Penny.Cilin vor 12 StundenHumor (lol)6 Kommentare

Interessant, was man so alles als Easter Egg implementiert. Ist schon wieder Ostern? "gimme gimme gimme": Automatischer Test stolpert ...

MikroTik RouterOS

Mikrotik - Lets Encrypt Zertifikate mit MetaROUTER Instanz auf dem Router erzeugen

Anleitung von colinardo vor 1 TagMikroTik RouterOS8 Kommentare

Einleitung Folgende Anleitung ist aus der Lage heraus entstanden das ein Kunde auf seinem Mikrotik sein Hotspot Captive Portal ...

Sicherheit

Sicherheitslücke in HP-Druckern - Firmware-Updates stehen bereit

Information von BassFishFox vor 1 TagSicherheit1 Kommentar

Ein weiterer Grund, dass Drucker keinerlei Verbindung nach "auswaerts" haben sollen. Unter Verwendung spezieller Malware können Angreifer aus der ...

Heiß diskutierte Inhalte
Windows Server
RDP macht Server schneller???
Frage von JaniDJWindows Server17 Kommentare

Hallo Community, wir betrieben seit geraumer Zeit diverse virtuelle Maschinen und Server mit Windows Server 2012. Leider haben wir ...

Windows 10
Windows 10 dunkler Bildschirm nach Umfallen
Frage von AkcentWindows 1015 Kommentare

Hallo, habe hier einen Windows 10 Rechner der von einem User umgefallen wurde (Beine übers Knie, an den PC ...

Windows 10
Bitlocker nach Verschlüsselung nicht mehr aufrufbar!
gelöst Frage von alexlazaWindows 1013 Kommentare

Hallo, ich besitze ein HP ZBook 17 G4 mit einem Windows 10 Pro Betriebssystem. Bei diesem Problem handelt sich, ...

Batch & Shell
Neuste Datei via PowerShell kopieren
gelöst Frage von kaiuwe28Batch & Shell11 Kommentare

Hallo zusammen, ich hatte mir mit Hilfe der Suche im Forum einen kleinen Code von colinardo rausgesucht und versucht ...