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

WPS to DOC Batch bzw. VB Convert

Frage Entwicklung VB for Applications

Mitglied: fugu

fugu (Level 2) - Jetzt verbinden

24.02.2014, aktualisiert 15:07 Uhr, 3018 Aufrufe, 2 Kommentare

Moin Com!

Ich habe mal wieder ein "Bastler-Problem" und hoffe, es gibt jemanden, der mit mit einem "Zweizeiler" viel Zeit ersparen kann

Wir haben ein altes Archiv von knapp 6000 Works-Dateien (.wps Works Version 4).
Bisher war das alles kein Problem - auf den alten Rechnern mit XP, installiertem Works 9 und Office 2007 ließen sich die Dateien problemlos öffnen. Auf den neuen PCs mit Win7x64 und Office 2013 gibt es allerdings Fehlermeldungen (Dateien wären zerstört und nicht konvertierbar).

Die üblichen Verdächtigen (Word 2003 Viewer, Microsoft Works Convertor Plugin) habe ich durch. Ich bekomme auf den neuen PCs die alten Dateien nicht mehr geöffnet.

Jetzt steht da noch ein alter PC in alter Konfiguration, der alle Dateien öffnen kann. Es gibt ein Batch-Plugin für Word ab 2010, welches WPS zu DOC konvertiert (http://www.gmayor.com/works_batch_converter.htm) Leider läuft das tatsächlich nicht unter Office 2007 und Office 2013 bekomme ich auf der alten XP-Dose nicht installiert.

So.

Was funktioniert ist:
Auf der alten XP-Dose die WPS-Datei öffnen und über den Speichern-Unter-Dialog die Konvertierung zu DOC manuell machen. Das ist aber bei der Datenmenge mehr als eine Sisyphusarbeit.

Gibt es evtl. über VB eine Möglichkeit das "Datei öffnen und Speichern unter" auf einen ganzen Ordner zu automatisieren?

Vielen Dank im voraus

Greetz, Fugu
Mitglied: colinardo
LÖSUNG 24.02.2014, aktualisiert um 15:07 Uhr
Hallo Fugu,
z.B. mit folgendem VBS-Script:
(Zeile 2 = Pfad zu den WPS-Dateien / Zeile 4 = Ordner in dem die DOC-Dateien landen / Zeile 6 = Pfad zu einer LOG-Datei)
Sollen die Word-Fenster während des Vorgangs nicht immer aufpoppen und das ganze "Silent" ablaufen, kann dies in Zeile 15 mit Änderung auf False festgelegt werden.

Code in einer Textdatei mit der Endung *.vbs speichern, ausführen... freuen
01.
'Pfad zu den WPS Dokumenten 
02.
strPathWPS = "C:\wps" 
03.
'Pfad zu den DOCs 
04.
strPathDOC = "C:\doc" 
05.
'Logfile für eventuell auftretende Fehler 
06.
strPathLogfile = "c:\logfile.txt" 
07.
'Erweiterungen der Dateien die bearbeitet werden sollen 
08.
arrFileExtensions = Array("wps") 
09.
 
10.
Set fso = Wscript.CreateObject("Scripting.Filesystemobject") 
11.
Set objWord = WScript.CreateObject("Word.Application") 
12.
Set objShell = CreateObject("Wscript.Shell") 
13.
Dim intDocCount, intErrCount 
14.
'Applikation anzeigen und eventuelle Dialoge für Batchbetrieb unterdrücken 
15.
objWord.Visible = True 
16.
objWord.DisplayAlerts = 0 
17.
'Im Ordner Rekursiv alle Word-Dokumente verarbeiten 
18.
parseFolders fso.GetFolder(strPathWPS), True 
19.
'Das Anzeigen von Benachrichtigungen wieder aktivieren und Word schließen 
20.
objWord.DisplayAlerts = -1 
21.
objWord.Quit True 
22.
Set fso = Nothing 
23.
Set objWord = Nothing 
24.
If intErrCount = 0 Then 
25.
	MsgBox "Es wurden insgesamt " & intDocCount & " Dokumente verarbeitet.", vbInformation, "Verarbeitung abgeschlossen" 
26.
Else 
27.
	MsgBox "Es wurden insgesamt " & intDocCount & " Dokumente verarbeitet." & vbCrLf & "Davon ist bei " & intErrCount & " Dokumenten ein Fehler aufgetreten!", vbInformation, "Verarbeitung abgeschlossen" 
28.
	objShell.Run "Notepad.exe " & strPathLogfile 
29.
End If 
30.
 
31.
'Ende 
32.
 
33.
Function parseFolders(fldr, boolRecursion) 
34.
    For Each file In fldr.Files 
35.
    	For i = 0 To UBound(arrFileExtensions) 
36.
			If LCase(arrFileExtensions(i)) = LCase(fso.GetExtensionName(file.Path)) Then 
37.
				intDocCount = intDocCount + 1  
38.
	            'Fehlerbehandlung für den Fall das ein Fehler beim Öffnen eines Dokumentes auftritt 
39.
	            On Error Resume Next 
40.
	            Set objDoc = objWord.Documents.Open(file.Path) 
41.
	            If Err.Number <> 0 Then 
42.
	            	intErrCount = intErrCount + 1 
43.
	            	WriteLog "!!ERROR!! Fehler beim öffnen der Datei: -> '" & file.Path & "'" 
44.
	            Else 
45.
	            	objDoc.SaveAs strPathDOC & "\" & fso.GetBaseName(file.Name) & ".docx" ,16 
46.
	            	objDoc.Close True 
47.
	            	WriteLog "Dokument wurde konvertiert: ->'" & file.Path & "'" 
48.
	            End if 
49.
	            Exit For 
50.
	         End If 
51.
		Next 
52.
    Next 
53.
     
54.
    'Funktion wird rekursiv aufrufen wenn das durchsuchen aller Unterordner gewünscht ist 
55.
    If boolRecursion Then 
56.
		For Each subFolder in fldr.SubFolders 
57.
			parseFolders subFolder, True 
58.
		Next 
59.
	End If 
60.
End Function 
61.
 
62.
Function WriteLog(strText) 
63.
	Set objLog = fso.OpenTextFile(strPathLogfile,8,True) 
64.
	logline = Now & " - " & strText 
65.
	objLog.WriteLine(logline) 
66.
	objLog.Close 
67.
End Function
Grüße Uwe
Bitte warten ..
Mitglied: fugu
24.02.2014 um 15:08 Uhr
*niederknie* unglaublicher "Zweizeiler"

Vielen Dank!
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Übersetzungstabelle für Dateiinhalte via Batch oder VB
gelöst Frage von Ironhead-HaynsBatch & Shell3 Kommentare

Hallo zusammen, ich hab da mal wieder ein kleines Problem zudem mir so keine Lösung einfällt: Ich bekomme aus ...

Batch & Shell
Image - Convert Befehle mittels Batch automatisieren
gelöst Frage von MortariusBatch & Shell4 Kommentare

Moin, ich würde gern folgendes über meine Batch lösen. Ein Bild soll aus dem Verzeichnis mittels ImageMagick automatisch auf ...

VB for Applications
VB Skript für mehrere Batch Befehle
gelöst Frage von freshman2017VB for Applications37 Kommentare

Hallo, zum Glück konntet Ihr mir schon sehr helfen, habe nun noch eine weitere Frage. Ich nutze derzeit ein ...

LAN, WAN, Wireless
W-Lan per WPS erweitern
gelöst Frage von AlexanderMELAN, WAN, Wireless8 Kommentare

Hallo Leute, ich habe mir den D-Link DWR-921 (UMTS-Modem und W-Lan Router) gekauft. Jetzt reicht das Signal jedoch nicht ...

Neue Wissensbeiträge
Windows 10

Windows 10 v1709 EN murkst bei den Regionseinstellungen

Tipp von DerWoWusste vor 4 StundenWindows 10

Dieser kurze Tipp richtet sich an den kleinen Personenkreis, der Win10 v1709 EN-US frisch installiert und dabei die englische ...

Webbrowser

Kein Ton bei Firefox Quantum über RDP

Tipp von Moddry vor 4 StundenWebbrowser

Hallo Kollegen! Hatte das Problem, dass der neue Firefox bei mir auf der Kiste keinen Ton hat, wenn ich ...

Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 16 StundenInternet4 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registrierung von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Verschlüsselung & Zertifikate

19 Jahre alter Angriff auf TLS funktioniert immer noch

Information von BassFishFox vor 23 StundenVerschlüsselung & Zertifikate1 Kommentar

Interessant zu lesen. Der Bleichenbacher-Angriff gilt unter Kryptographen als Klassiker, trotzdem funktioniert er oft noch. Wie wir herausgefunden haben, ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Von rj11 auf rj45
Frage von jensgebkenLAN, WAN, Wireless19 Kommentare

Hallo Gemeinschaft, könnt ihr mir vielleicht bei der anfertigung eines Kabels helfen - habe ein rj 11 stecker und ...

Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

LAN, WAN, Wireless
Häufig Probleme beim Anmelden in WLAN
Frage von mabue88LAN, WAN, Wireless15 Kommentare

Hallo zusammen, in einem Netzwerk gibt es relativ häufig (1-2 mal pro Woche) Probleme mit der WLAN-Verbindung. Zunächst mal ...

Windows Server
Remotesteuerung der Sitzung (Kennung XX) fehlgeschlagen
gelöst Frage von Stefan91Windows Server14 Kommentare

Hallo Zusammen, seit kurzem bekomme ich oben genannte Fehlermeldung, wenn ich versuche eine Remotesitzung über den Taskmanager fernzusteuern (Rechtsklick ...