Hallo,
ich möchte aus einem Netzwerk alle Dateien (*.doc,*.xls,…) automatisch öffnen und wieder schließen lassen. Wer weiss Rat?
gruß quem
Hallo,
ich möchte aus einem Netzwerk alle Dateien (*.doc,*.xls,…) automatisch öffnen und wieder schließen lassen. Wer weiss Rat?
gruß quem
Versuchs mal hiermit (ist nur ein kurzes Beispiel und kann sicherlich noch erweitert werden):
Option Explicit
Sub AllFiles()
Dim Dateiname$, ExApp As Excel.Application, ExWb As Excel.Workbook, WdApp As Word.Application, WdDoc As Word.Document
Dim Dirname$
Dirname = „C:\daten“
Set WdApp = New Word.Application
Set ExApp = New Excel.Application
Dateiname = Dir(Dirname & „*.doc“)
Do Until Dateiname = „“
Set WdDoc = WdApp.Documents.Open(Dirname & Dateiname)
'Mach hier was du willst mit dem Dokument
WdDoc.Save
WdDoc.Close
Set WdDoc = Nothing
Dateiname = Dir
Loop
Dateiname = Dir(„C:\daten*.xls“)
Do Until Dateiname = „“
Set ExWb = ExApp.Workbooks.Open(Dirname & Dateiname)
'Mach hier was du willst
ExWb.Save
ExWb.Close
Set ExWb = Nothing
Dateiname = Dir
Loop
WdApp.Quit
Set WdApp = Nothing
ExApp.Quit
Set ExApp = Nothing
End Sub
ACHTUNG! Da das hier alles automatisch und ohne Fehlerbehandlung (kann man ja noch hinzufügen) abläuft, würde ich das erstmal so testen.
Besondere Vorsicht ist bei Dokumenten geboten, welche ihrerseits wieder Makros welche automatisch starten beinhalten. Eventuell sollte man also vorher die Ausführung von Makros in der jeweiligen Anwendung verbieten.
Gruß
Daniel
Für was?
Dateien öffnen (und nicht nur Office-Dateien) kannst du mit der ShellExecute -API, das schließen ist schon schwieriger. Du könntest alle Handles der sichtbaren Fenster ermitteln und sie schließen (das ermitteln unter http://www.activevb.de/tipps/vb6tipps/tipp0123.html , das schließen mit der DestroyWindow -API).
Der Doc!