Thema Datum  Von Nutzer Rating
Antwort
28.07.2009 15:58:21 Thrawn23
NotSolved
Blau Aw:Automatische aktualisierung von Excel Dateien.
30.07.2009 18:03:47 Holger
NotSolved

Ansicht des Beitrags:
Von:
Holger
Datum:
30.07.2009 18:03:47
Views:
954
Rating: Antwort:
  Ja
Thema:
Aw:Automatische aktualisierung von Excel Dateien.
Hallo Thrawn23,
da der Update nachts erfolgen soll, spielt die Zeit hierfür keine Rolle. Nehmen wir an, der Update dauert höchstens die Zeit T.
dann füge doch einfach hinter ActiveWorkbook.RefreshAll eine Pause ein:
...
ActiveWorkbook.RefreshAll
zz=now+T
do while zz größer Now 'Zeichen einsetzen
loop
ActiveWorkbook.Save
...

Ich bin gespannt, ob das funktioniert.
Gruß
Holger

Thrawn23 schrieb am 28.07.2009 15:58:21:

Hallo zusammen,
ich habe mehrere Exceldateien in denen sich mehrere Arbeitsblätter mit Datenbank abfragen befinden.
Ich möchte die Dateien nachts automatisch aktualisieren.

Dabei scheitere ich allerdings beim Speichern der Dateien, da ich vom ActiveWorkbook.RefreshAll keine rückmeldung bekomme wann die aktualisierung fertig ist.

Das anschliessende ActiveWorkbook.Save bringt dann die Fehlermeldung "Diese Aktion wird eine aktive Datenaktualisierung abbrechen"

Allerdings kommt die Fehlermeldung in dem Dokument das aktualisiert wird. Und landet nicht in der on Error routine.

Kann mann das irgendwie abfragen?

Ich hab schon etwas mit wait und sleep rumprobiert aber ohne Erfolg.

[vb]Sub Schaltfläche1_KlickenSieAuf()

Dim Pfad, Datei, Dateiname As Variant
On Error GoTo fehler
Application.ScreenUpdating = False
Application.AskToUpdateLinks = False

Pfad = "M:\"
Datei = "test.xls"
Dateiname = ActiveWorkbook.Name 'merken Aktuelle Datei
Workbooks.Open Filename:=Pfad & Datei
DoToAll

ActiveWorkbook.RefreshAll

ActiveWorkbook.Save
ActiveWorkbook.Close
Windows(Dateiname).Activate 'Zurückschalten in Ursprungsdatei
Application.AskToUpdateLinks = True
Application.ScreenUpdating = True
' ActiveWorkbook.Close
Exit Sub
fehler:
MsgBox (vberror)

End Sub


Public Sub DoToAll()


Dim ws As Worksheet

For Each ws In Worksheets

ws.Range("A2") = "20090721"

Next

End Sub
[/vb]

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
28.07.2009 15:58:21 Thrawn23
NotSolved
Blau Aw:Automatische aktualisierung von Excel Dateien.
30.07.2009 18:03:47 Holger
NotSolved