Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
364to368
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
364to368
364to368
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Öffnen, 1 h warten speichern

Öffnen, 1 h warten speichern
21.01.2004 09:58:05
Franzi
Hallo Forum,
ich weiß das steht wahrscheinlich alles schon in der Recherche, aber das ist mein erster Programmierversuch. Mein Problem: In einem Ordner sind 20 Dateien, diese sollen jetzt nacheinander aufgemacht werden, aktualisiert werden und nach einer Stunde gespeichret und geschlossen werden.
Aber leider hat mir die Recherche nicht weitergeholfen...
Bitte helft mir
danke
Franzi

24
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Öffnen, 1 h warten speichern
21.01.2004 10:33:48
Franzi
Hier mal mein bisheriger Versuch:

Sub AutomatischSpeichern()
Application.DisplayAlerts = False
Workbooks("Arbeitstabelle.xls").Save
Workbooks("Arbeitstabelle.xls").Close
End Sub


Sub BloAktVOben()
Workbooks.Open Filename:= _
"H:\Working\temp\Arbeitstabelle.xls", UpdateLinks:=3
Dateioffen
End Sub


Sub Dateioffen()
Application.OnTime Now + TimeSerial(0, 0, 2), "AutomatischSpeichern"
End Sub

Hilfe wäre nett
AW: Öffnen, 1 h warten speichern
21.01.2004 12:04:07
P@ulchen
Hallo Franzi,
schau Dir mal meine Beispieldatei an. Nach Klick auf "Dateien öffnen" kannst Du den Pfad wählen, in welchem sich die anderen Dateien befinden. Diese werden dann geöffnet, aktualisiert und in Tabelle1 aufgelistet.
Das Zeitintervall zum Speichern und Schließen der Dateien beträgt im Augenblick 10 sec.(zum testen). Müßtest Du dann noch anpassen.
https://www.herber.de/bbs/user/3081.xls
Gruß
P@ulchen
Das Forum lebt auch von den Rückmeldungen !
Anzeige
AW: Öffnen, 1 h warten speichern
21.01.2004 12:13:46
Franzi
Erstmal vielen Dank, das hat mir sehr geholfen, da ich aber nicht gut programmieren kann, habe ich noch eine Fraeg: Wie kann ich es machen, das die n+1 DAtei erst aufgemacht wird, wenn die n Datei schon wieder zu ist???
Franzi
also doch Franzi = Miriam ;-)
21.01.2004 12:18:07
P@ulchen
...netter Versuch...aber nicht unentdeckt...
ok, wenn Du die 2. Datei erst öffnen willst, wenn die 1. Datei wieder geschlossen ist, wozu dann das Zeitintervall von einer Stunde ?
Gruß
Sherlock Holmes alias P@ulchen
Das Forum lebt auch von den Rückmeldungen !
Anzeige
AW: also doch Franzi = Miriam ;-)
21.01.2004 12:21:00
Franzi
Nein, nicht gleiche Person aber wahrscheinlich gleiche Uni.... :-)))
Münche ist halt doch ne Massenuni....
1 Stunde ?? Weil das Teil der Aufgabe ist....
Vielleicht weiß Miriam mehr
AW: also doch Franzi = Miriam ;-)
21.01.2004 12:26:25
P@ulchen
Also nochmal langsam:
Ist der Pfad, in dem sich die Dateien befinden, fest vorgegeben oder wollen wir es bei der Auswahl des Pfades belassen ?
Die erste Datei wird geöffnet und aktualisiert, nach einer Stunde automatisch gespeichert und geschlossen und danach die gleiche Prozedur für alle anderen Dateien ???
Gruß
P@ulchen
Das Forum lebt auch von den Rückmeldungen !
Anzeige
Zufälle gibts...
21.01.2004 13:05:08
Miriam Franzi
...
1.) Nicht nur das wir in der Uni den gleichen Kurs besuchen, nein
2.) Wir machen sogar das Prakitkum in der gleichen Firma,wir haben uns gerade zufällig in der Kantine getroffen...
wir findens beide saulustig...wenn das in nen film gewesen wäre hät es keiner geglaubt..
Um auf deine Frage zu antworten:
Der Pfad ist fest vorgegeben und ändert sich nicht.
Die Dateien sind mit einer Datenbank verknüpft. Die DB akutalisiert beim öffnen automatisch die Datei und das dauert wohl 1h pro Datei, deswegen die Wartezeit.
Genaueres können wir auch nicht sagen, weil uns nur diese Aufgabe gestellt wurde ohne weiter Informationen...leider
Wir danken allen die uns helfen
Miriam & Franzi
( die gar nicht mehr aufhören können zu lachen )
Anzeige
AW: Zufälle gibts...
21.01.2004 13:19:40
P@ulchen
Hallo Ihr Süßen,
dann muß ich wohl den Detektiv-Orden wieder ablegen...
Ist denn vorgegeben, dass sich eine Datei erst nach dem Schließen der vorigen Datei öffnen darf ? Im Code der ersten Beispielmappe werden ja alle Dateien geöffnet, aktualisiert und dann nach Ablauf der eingestellten Zeit (zB. 1 Stunde) wieder geschlossen.
Könntet ihr ansonsten mal den genauen Wortlaut der Aufgabe rüberwachsen lassen ?
Gruß
P@ulchen
Das Forum lebt auch von den Rückmeldungen !
Anzeige
AW: Zufälle gibts...
21.01.2004 13:26:36
Franzi
Also erstens ohne die detektivischen Ansätze wären wir da ja gar nicht draufgekommen, von daher gebührt dir der Sherlock-Orden.
Zweitens: Miriam hat sich schlau gemacht und dabei erfahren, daß es immens viel Speicher kostet diese Verknüpfungen ( mit Bloomberg - falls es was hilft ) zu aktualisieren. Deswegen kann immer nur eine Datei geöffnet werden, denn sonst schmiert der Rechner ab.
Leider gibt es keinen genauen Wortlaut der Aufgaben (wir sind nur Praktikanten )
"In einem Ordner sollen nacheinander alle Dateien geöffnet werden. Die Aktualisierungsabfrage soll mit ja beantwortet werden. Nach einer Stunde soll die Datei gespeichert und geschlossen werden, dann kommt die nächste dran."
Ich weiß es ist eine schwere Aufgabe, aber wir sind Dir sehr dankbar für Deine Hilfe...
Franzi & Miriam
Anzeige
Idee...
21.01.2004 13:46:33
FranziMiriam
...sag bitte was Du davon hältst:
Workbook.open UpdateLinks:=3
Application.Run "BLP"
Könnte man dann nicht sagen:
If Application "BLP" is not running anymore 'Leider kenn ich den richtige Code nicht'
workbook.close savechanges:=True
next workbook.open ???
Kann das funktionieren?
Franzi & Miriam
AW: Idee...
21.01.2004 14:04:08
P@ulchen
Hallo Ihr beiden,
soll denn die Aktualisierung der zu öffnenden Mappen von Eurer Startmappe aus erfolgen bzw gestartet werden oder geschieht das automatisch durch das Öffnen der einzelnen Dateien ?
Gruß
P@ulchen
Das Forum lebt auch von den Rückmeldungen !
Anzeige
AW: Idee...
21.01.2004 14:10:06
FM
Das geschieht automatisch. Bzw wenn die Datei geöffnet wird fragt Excel "wollen sie aktualisieren?",
UpdateLinks:=3 bedeutet ja.
Gruß
FRanzi & Miriam
AW: Idee...
21.01.2004 14:23:52
P@ulchen
dass mit UpdateLinks:=3 die Aktualisierungsabfrage automatisch bejaht wird, war mir schon klar.
Ich bin nur noch am grübeln, warum diese Zeitschleife notwendig sein sollte.
Mit unten stehendem Code werden die Dateien im angegebenen Pfad nacheinander geöffnet, aktualisiert und nach Beendigung der Aktualisierung gespeichert und geschlossen. Da sollte es eigentlich Leberwurst sein, wie lange die Aktualisierung dauert.


Dim sPath, sFile As String
Sub OpenWkb()
    Application.EnableEvents = False
    On Error GoTo ERRORHANDLER
    sPath = "H:\Working\Temp\"
    sFile = Dir(sPath & "*.xls")
    Do While sFile <> ""
        Workbooks.Open sPath & sFile, UpdateLinks:=3
        ActiveWorkbook.Save
        ActiveWorkbook.Close
        sFile = Dir()
    Loop
    
ERRORHANDLER:
    Application.EnableEvents = True
End Sub

     Code eingefügt mit Syntaxhighlighter 2.1


Gruß
P@ulchen
Das Forum lebt auch von den Rückmeldungen !
Anzeige
AW: Idee...
21.01.2004 14:57:31
Miriam
Damit macht er aber nur die Datei auf und gleich wieder zu. Die Aktualisierungen haben keine Chance...
Kann man den
Do While sFile <> ""
Loop
Teil nicht in eine Forschleife packen???
Miriam
AW: Idee...
21.01.2004 15:13:08
P@ulchen
Hallo Miriam,
ich habe auf meiner Festplatte mal 5 Dateien angelegt und diese jeweils mit -zig Verknüpfungen zu einer anderen Mappe versehen.
Dann den Code durchlaufen lassen.
Jede Datei wurde geöffnet, aktualisiert (jeweils ca. 1 Minute), gespeichert und geschlossen...also ohne Probleme...
Habt Ihr den Code mal getestet ?
Gruß aus Leipzig
P@ulchen
Das Forum lebt auch von den Rückmeldungen !
Anzeige
AW: Idee...
21.01.2004 15:26:20
Miriam
Ja, und wenn ich mehr als eine DAtei offen habe geht gar nix mehr.
Kann man dem nicht sagen das die erste Datei nach einer stunde geschlossen werden soll und dann die zweite aufmachen,
mit ner if abfrage
if datei1 = closed then open datei 2
Miriam
AW: Idee...
21.01.2004 15:39:14
P@ulchen
Hallo Miriam,
probier mal so: (konnte ich allerdings nicht testen)


Dim sPath, sFile As String
Sub OpenWkb()
    Application.EnableEvents = False
    On Error GoTo ERRORHANDLER
    sPath = "H:\Working\Temp\"
    sFile = Dir(sPath & "*.xls")
    Do While sFile <> ""
        Workbooks.Open sPath & sFile, UpdateLinks:=3
        Application.Wait Now + TimeSerial(1, 0, 0)
        ActiveWorkbook.Save
        ActiveWorkbook.Close
        sFile = Dir()
    Loop
    
ERRORHANDLER:
    Application.EnableEvents = True
End Sub

     Code eingefügt mit Syntaxhighlighter 2.1


Gruß aus Leipzig
P@ulchen
Das Forum lebt auch von den Rückmeldungen !
AW: Idee...
21.01.2004 15:52:53
Miriam
Danke, aber mit dem Wait Befehl, holt sich Excel leider auch die DAten nicht mehr, da Wait alle Aktivitäten unterbindet...
Miriam
AW: Idee...
21.01.2004 16:03:30
P@ulchen
Hab ich mir schon gedacht...
Bei mir fängt er an zu warten, sobald die Aktualisierung abgeschlossen ist.
Ich weiß nicht, warum der Code ohne Wait bei Euch nicht läuft :-(
mit
Application.OnTime Now + TimeSerial(1, 0, 0), "schließen"
dürfte Euch aber auch nicht geholfen sein, da das Zeitintervall zwar gestartet wird, der Code aber weiterläuft...
Gruß aus Leipzig
P@ulchen
Das Forum lebt auch von den Rückmeldungen !
AW: Idee...
21.01.2004 16:05:33
Miriam
Wahrscheinlich wartet er weil "BLP" auch mit Application.run aufgerufen wird ???
Ich bin gerade dabei es über die Timer fkt zu versuchen...
schaun mer mal
AW: Idee...
21.01.2004 16:12:43
P@ulchen
Wo wird "BLP" aufgerufen ? In den zu öffnenden Dateien ?
Gruß aus Leipzig
P@ulchen
Das Forum lebt auch von den Rückmeldungen !
AW: Idee...
21.01.2004 16:29:50
Miriam
Ja, obwohl ich nicht sicher bin, ob man das braucht, allerdings macht es im bezug auf wait keinen unterschied ob man es explizit reinschreibt oder nicht.
Hier mal eine Idee von mir, die habe ich beim Thread über uns entdeckt...da gehts nämlich um eine abfrage ob datei offen oder nicht...was denkst du darüber

Sub OpenWkb()
Application.EnableEvents = False
On Error GoTo ERRORHANDLER
sPath = "K:\Text\MirSte\Test\"
sFile = Dir(sPath & "*.xls")
Dim datname As String
datname = sFile
Do While sFile <> ""
If WBOffen(datname) = False Then
Workbooks.Open sPath & sFile, UpdateLinks:=3
Application.Run "BLPLinkReset"
End If
sFile = Dir()
Application.OnTime Now + TimeSerial(0, 1, 0), "schließen"
Loop
ERRORHANDLER:
Application.EnableEvents = True
End Sub


Function WBOffen(n As String) As Boolean
WBOffen = False
'nur hier bi ich mit dem anpassen nicht so weit
If UCase(Workbooks(n).Name) = UCase(n) Then
WBOffen = True
End If
End Function

danke
miriam
AW: Idee...
21.01.2004 16:53:10
P@ulchen
Hallo Miriam,
meinst Du so:
solange Datei offen (weil Aktualisierung läuft) Code stoppen
ansonsten schließen ?
..das wird nicht ganz funktionieren, weil die Datei ja dann immer offen ist. Geschlossen werden soll sie ja erst durch diesen Code.
Ich glaube, ich bin mit meinem Latein am Ende. Es gibt sicher eine Möglichkeit, das Schließen der Datei erst nach Abschluß der Aktualisierung zu veranlassen.
Vielleicht wäre es am besten, diesen Thread zu schließen und neu in dieses Forum zu setzen (mit Verweis auf diesen Thread).
Oder Du postest Dein Problem mal hier:
http://dasexcelforum.de/
Hier tummeln sich die absoluten Spezialisten, vielleicht kann Dir dort geholfen werden.
Vergiss dann aber nicht, diesen Thread zu schließen.
Gruß aus Leipzig
P@ulchen
Das Forum lebt auch von den Rückmeldungen !
AW: Idee...
21.01.2004 16:57:22
geschlossen:-)
DAnke trotzdem für alles...

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige