Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
428to432
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
428to432
428to432
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Ordner anlegen, füllen, Dateien speichern, löschen

Ordner anlegen, füllen, Dateien speichern, löschen
22.05.2004 15:52:15
Iris
Hallo zusammen,
hat jmd ein Beispiel für mich, bei dem ich sehen kann wie ich in einem Makro einen Ordner anlege (Name des Ordners am Besten mit einem Kürzel + Datum) und Dateien aus einem anderein Verzeichnis in diesen Ordner kopiere, nachdem eine bestimmte Aktion (siehe unten) mit diesen Dateien gemacht wurde, soll dieser Ordner wieder gelöscht werden.
Kurz gesagt:
1. Ordner anlegen
2. Neu angelegten Ordner füllen mit Dateien eines bestehenden Ordners (immer Word-Dokumente)
3. Diese Word-Dateien (*.doc, *.rtf) müssen neu gespeichert werden (aktuelles Datum erhalten)
4. Ordner inkl. Dateien löschen
In der Zwischenzeit führe ich mit meinem Makro noch andere Dinge durch, also nicht irritiert sein, öber dieses vielleicht etwas wirre anlegen und löschen von Dateien/Ordnern )
Über eine Hilfe von euch würde ich mich sehr freuen!!!
Iris

19
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ordner anlegen, füllen, Dateien speichern, löschen
Ramses
Hallo
"...In der Zwischenzeit führe ich mit meinem Makro noch andere Dinge durch..."
Bei kaum Excel/VBA Kenntnisse frage ich mich, warum du die WORD Dateien von EXCEL aus steuern bzw. ändern willst.
Um dir ein paar Inputs zu geben.
Dazu die Online Hilfe starten und nach folgenden Begriffen suchen
MkDir
FileCopy
Name
Kill
Alternativ kannst du auch noch nach FileSystemObject suchen und dort die Option "Siehe auch" mal ansehen.
Mit diesen Befehlen solltest du dein Problem lösen können.
Gruss Rainer
AW: Ordner anlegen, füllen, Dateien speichern, löschen
22.05.2004 17:38:24
Iris
Mein Problem liegt eher in Punkt 3:
"3. Diese Word-Dateien (*.doc, *.rtf) müssen neu gespeichert werden (aktuelles Datum erhalten)"
Wie kann ich aus Excel heraus mehrere Word-Dateien eines Verzeichnisses öffnen und speichern?
Hat jmd. nen Tipp?
Anzeige
AW: Ordner anlegen, füllen, Dateien speichern, löschen
22.05.2004 17:59:00
Iris
Danke für den Tipp!
Das Problem ist aber, dass es sich ja um diverse Word-Dateien handelt: *.doc, *.rtf oder auch mal eine *.bak
Wie kann ich diese öffnen?
Besser fände ich die Lösung, wenn der User gar nichts vom Speichern der Dateien mitbekommwn würde - also Neu-Speicherung der Dateien im Hintergrund.
Ich stecke fest, und bekomme das einfach nicht hin...
Help :-)
Anzeige
AW: Ordner anlegen, füllen, Dateien speichern, löschen
Ramses
Hallo
Öffnen eines Word Dokumentes von EXCEL aus ?
Wozu denn ?
Wenn du die Dateien nur mit einem neuen Datum versehen willst, schau in Hilfe unter "Name" nach.
Gruss Rainer
AW: Ordner anlegen, füllen, Dateien speichern, löschen
22.05.2004 18:12:26
Iris
Hm, das genügt leider aus bestimmten Gründen nicht. Während des Speicher-Vorgangs muss noch etwas anderes ausgeführt werden. Ich bekomm aber das Neu-Speichern nicht 'gebacken' :-((
Hast trotzdem noch nen Tipp?
AW: Ordner anlegen, füllen, Dateien speichern, löschen
Ramses
Hallo
In der Recherche gibt es einige Dutzend Beispiele dafür
Hier als Einstieg
https://www.herber.de/forum/archiv/392to396/t395131.htm
Ich klinke mich aus.
Gruss Rainer
Anzeige
AW: Ordner anlegen, füllen, Dateien speichern, löschen
22.05.2004 18:39:37
Iris
Wenn ich dort was hilfreiches gefunden hätte, hätte ich hier nicht nachgefragt...
Ich finde keinen früherigen Beitrag der eine wahllose Anzahl Word-Dateien öffnet und vor allem habe ich nichts zum Speichern von Word-Dateien gefunden...
Kann mir denn niemand einen genaueren Hinweis geben...?
AW: Ordner anlegen, füllen, Dateien speichern, löschen
22.05.2004 18:53:24
Nepumuk
Hallo Iris,
du musst die Dateien nicht öffnen und wieder speichern. Das geht auch so:


Option Explicit
Private Declare Function GetFileTime Lib "kernel32" (ByVal hFile As Long, lpCreationTime As FILETIME, lpLastAccessTime As FILETIME, lpLastWriteTime As FILETIME) As Long
Private Declare Function SetFileTime Lib "kernel32" (ByVal hFile As Long, lpCreationTime As FILETIME, lpLastAccessTime As FILETIME, lpLastWriteTime As FILETIME) As Long
Private Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" (ByVal lpFileName As StringByVal dwDesiredAccess As LongByVal dwShareMode As Long, lpSecurityAttributes As LongByVal dwCreationDisposition As LongByVal dwFlagsAndAttributes As LongByVal hTemplateFile As LongAs Long
Private Declare Function SystemTimeToFileTime Lib "kernel32" (lpSystemTime As SYSTEMTIME, lpFileTime As FILETIME) As Long
Private Declare Function LocalFileTimeToFileTime Lib "kernel32" (lpLocalFileTime As FILETIME, lpFileTime As FILETIME) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As LongAs Long
Private Type FILETIME
    dwLowDateTime As Long
    dwHighDateTime As Long
End Type
Private Type SYSTEMTIME
    wYear As Integer
    wMonth As Integer
    wDayOfWeek As Integer
    wDay As Integer
    wHour As Integer
    wMinute As Integer
    wSecond As Integer
    wMilliseconds As Integer
End Type
Private Const GENERIC_WRITE = &H40000000
Private Const OPEN_EXISTING = 3
Private Const FILE_SHARE_READ = &H1
Private Const FILE_SHARE_WRITE = &H2
Public Sub Aenderungdatum_aendern()
    Dim Ft1 As FILETIME, Ft2 As FILETIME, lngHandle As Long, SysTime As SYSTEMTIME
    Dim udtFileTime As FILETIME, udtLocalTime As FILETIME, udtSystemTime As SYSTEMTIME
    udtSystemTime.wYear = Year(Now)
    udtSystemTime.wMonth = Month(Now)
    udtSystemTime.wDay = Day(Now)
    udtSystemTime.wDayOfWeek = Weekday(Now)
    udtSystemTime.wHour = Hour(Now)
    udtSystemTime.wMinute = Minute(Now)
    udtSystemTime.wSecond = Second(Now)
    udtSystemTime.wMilliseconds = 0
    SystemTimeToFileTime udtSystemTime, udtLocalTime
    LocalFileTimeToFileTime udtLocalTime, udtFileTime
    lngHandle = CreateFile("D:\Eigene Dateien\AEG\Test.txt", GENERIC_WRITE, FILE_SHARE_READ Or FILE_SHARE_WRITE, ByVal 0&, OPEN_EXISTING, 0, 0)
    GetFileTime lngHandle, Ft1, Ft1, Ft2
    SetFileTime lngHandle, Ft1, Ft1, udtFileTime
    CloseHandle lngHandle
End Sub


Das ist nur ein Beispiel für eine Datei. Um mehrere zu ändern wäre eine Schleife nötig. Dazu benötige ich aber den Pfad zu den Dateien.
Gruß
Nepumuk
Anzeige
AW: Ordner anlegen, füllen, Dateien speichern, löschen
22.05.2004 19:03:01
Iris
Doch, ich muss die Dateien öffnen!
Ich will die Funktion "Wörter zählen" aus dem Menü Extras in Word aufrufen und dementsprechend muss ich die Dateien auch wieder speichern, nachdem es dann Änderungen gab (aufgrund der aufgerufenen Funktion).
Das ist mein Problem das ich nicht gelöst bekomme.
Für den User soll das möglichst im Hintergrund ablaufen und er soll eigentlich auch nichts vom Öffnen von Word mitbekommen... Am Besten wäre es nur einen Fortschrittsbalken zu zeigen...
help me :-(
AW: Ordner anlegen, füllen, Dateien speichern, löschen
22.05.2004 19:23:04
Nepumuk
Hallo Iris,
ich kenne zwar die Funktion Wörter zählen, aber was für eine Änderung soll dadurch in den Dokumenten bewirkt werden?
Worddokumente können problemlos mit GetObject im Hintergrund geöffnet werden. Aber wenn sie in diesem Zustand gespeichert werden, dann werden sie beim nächsten öffnen per Doppelklick auch wieder ausgeblendet geöffnet. Das wäre mal das erste Problem. Du könntest natürlich auch eine Exceltabelle so im Bildschirmvordergrund halten, dass alles was sich dahinter abspielt nicht sichtbar wird. Aber was hat das ganze eigentlich mit Excel zu tun? So etwas würde ich in VB schreiben. Das ist wesentlich schneller wie Excel.
Gruß
Nepumuk
Anzeige
AW: Ordner anlegen, füllen, Dateien speichern, löschen
22.05.2004 19:28:59
Iris
Es muß leider alles in Excel geschehen...
Ich mache eine Auswertung in Excel über diverse Dateien, und in diese Auswertung fliessen auch die Dokumenten-Eigenschaften (wie beispielswiese die Seitenanzahl usw.) ein.
Alles andere ist kein Problem, bis eben diese Seitenzahlen, Wörter-Anzahl usw. Denn aus irgendeinem Grund sind die nicht immer aktuell in Word (bekannte Word-Problematik)
Diese Dokumenteneigenschaften werden durch diese Funktion "Wörter zählen" aktualisiert...
Ich hoffe ich konnte mein Problem / meine Frage nun deutlich machen, und du hast noch nen Tipp für mich...?
Anzeige
keinen Plan
22.05.2004 21:46:44
Nepumuk
Hallo Iris,
ich habe wirklich alles versucht. Ich kann aber aus Excel heraus die Funktion "Wörter zählen" nicht aktivieren. Ich habe es versuch, mit einem Programm in "normal.dot" das ich auch starten konnte die Funktion auszulösen, aber ich bekomme danach das Fenster nicht mehr zu. Die Wordmakros sind durch das Fenster total blockiert und es gelingt mir nicht aus Excel heraus mit SendMessage dieses zu schließen. Ich bin leider mit meinem Latein am Ende. Versuch mal in einem Word-Forum, ob es einer schafft. Das könnte dann die Grundlage für ein Excelmakro werden. Ein Forum findest du hier: http://spotlight.de/zforen/msw/t/forum_msw_1.html
Gruß
Nepumuk
Anzeige
AW: keinen Plan
22.05.2004 21:51:19
Iris
Schade...
Zwecks dem "Wörter zählen" habe ich mich bei Spotlight mittlerweile eingetragen. Ich hoffe irgendjemand hat einen Tipp... ich komme einfach nicht mehr weiter.
Trotzdem vielen, vielen Dank für deinen Einsatz :-)
AW: keinen Plan
Nepumuk
Hallo Micha,
das liegt hauptsächlich daran, dass ich mich mit Word so gut wie noch nie auseinandergesetzt habe. Der Link ist klasse. Jetzt ist nur die Frage, sollte ich versuchen das "aktualisiert die statistischen Dokumenteigenschaften" in "normal.dot" unterzubringen und das Makro von Excel aus starten, oder das so zu ändern, das es auch in Excel läuft. Verschiedene Eigenschaften von Word sind nämlich für Excel nicht erreichbar, trotz des zugriffes auf das Objekt. Aber heute tu ich mir so einen Brocken nicht mehr an.
Gruß
Nepumuk
Anzeige
AW: keinen Plan
23.05.2004 14:29:12
Iris
Das is ja der Wahnsinn!!!!
Nepumuk, du bist ein wahrer Held!!!!!!!!!!!!!!!!
Das ist ja die komplette Lösung für die Aktualisierung der Werte! Wahnsinn, und es funktioniert so richtig klasse!
....kann ich das irgendwie gutmachen?!!!!!!!!
VIELEN - VIELEN - VIELEN DANK!!!! ganz dickes Dankeschön von mir!
AW: Ordner anlegen, füllen, Dateien speichern, löschen
22.05.2004 18:40:58
André
Hallo Iris,
folgender Code läuft bei mir.
Allerdings werden die Dateien nicht gespeichert, wenn darin nichts geändert wurde.
Warum das so ist, weiß ich nicht.

Sub test()
Dim i, datmaxzahl, datanzahl, dat$()
Dim Pfad As String
Dim appWd As Object
Dim WdFile As Object
Pfad = "C:\DATA\" ' Dein Verzeichnis
ChDir Pfad
datmaxzahl = 30     '30 Dateien
ReDim dat(datmaxzahl)  'Feld für Dateinamen
'Dateien des aktuellen Verzeichnisses einlesen
i = 0
dat(i) = Dir("*.doc")
While dat(i) <> ""
i = i + 1
dat(i) = Dir()
Wend
datanzahl = i
' Dateiöffnen
For i = 0 To datanzahl - 1
Set appWd = CreateObject("Word.Application.8") 'Word als Object starten
appWd.Visible = True
Set WdFile = appWd.Documents.Open(Pfad & dat(i))
WdFile.Save
WdFile.Close
appWd.Quit
Next i
End Sub

Viele Grüße
André
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige