Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1696to1700
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
Inhaltsverzeichnis

VBA: UpdateLinks:=3 - ActiveWB.Close True

VBA: UpdateLinks:=3 - ActiveWB.Close True
18.06.2019 18:06:07
SPL
Hallo zusammen,
seit Zeiten verwende ich nachfolgenden simplen Code um mehrere Worksheets nacheinander zu aktualisieren.

Dim ABC as String
ABC = "X:\P\M\MM\Acc.xlsx"
Workbooks.Open Filename:=ABC, UpdateLinks:=3
ActiveWorkbook.Close True
Jetzt haben wir eine relativ große Umstellung hinsichtlich Ordnerstruktur in der Firma und plötzlich funktioniert der Code so nicht mehr wie früher - natürlich hab ich den Pfad entsprechend angepasst.
Für gewöhnlich sollte dieser Code rein dadurch, dass das betroffene Dokument geöffnet und gespeichert wird, zu einer Änderung führen, welche man anhand des aktualisierten Änderungsdatums erkennen kann.
Nun habe ich nach einigen Tests festgestellt, dass dieser Code zu keiner ersichtlichen Änderung im Änderungsdatum mehr führt, d.h. für mich, dass im Umkehrschluss die Datei nicht abgespeichert wird, obwohl das im Code so vorgesehen ist.
Ich stehe wirklich auf der Leitung, da alles exakt gleich ist, nur der Pfad sich verändert hat. Früher hatte der Code zufolge, dass die Datei auch wirklich gespeichert wird, nun nicht mehr.
Hat hier jemand irgendeinen Ansatz?
Vielen Dank im Voraus für jeden Kommentar!!!
LG,
Christian

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Check im Einzelschrittmodus
18.06.2019 18:21:53
ChrisL
Hi Christian
Haltepunkt setzen und im Einzelschrittmodus eine paar Dateien durchlaufen.
Geht die Datei aktualisiert auf, geht sie auch wieder sauber zu? Letztes Speicherdatum?
Ich rate: Da gibt es eine On Error Resume Next Anweisung. Damit siehst du den eigentlichen Fehler nicht (z.B. Pfadlänge 256 Zeichen).
Zusatzhinweis:
ActiveWorkbook kann manchmal etwas unsicher sein z.B. wenn man während der Codeausführung anfängt rum zu klicken, dann ist vielleicht plötzlich mal ein anderes Workbook aktiv. Darum so ähnlich...
Dim ABC as String
Dim WB As Workbook
ABC = "X:\P\M\MM\Acc.xlsx"
Set WB = Workbooks.Open(Filename:=ABC, UpdateLinks:=3)
WB.Close True
cu
Chris
Anzeige
Einzelschrittmodus funktioniert/Ausführung nicht
19.06.2019 09:16:46
SPL
Hi Chris,
danke für deine Tipps und die Anmerkung mit der Anfälligkeit von ActiveWorkbook.
Ich habe nun alles im Einzelschrittmodus getestet und auch alle Application-Befehle raus.
'Application.ScreenUpdating = False
'Application.StatusBar = "Aktualisierung..."
'Application.DisplayAlerts = False
Es funktioniert tadellos im Einzelschrittmodus, so wie früher eben auch bei der normale Ausführung.
Jedoch funktioniert es nun - auch mit Set - weiterhin nur im Einzelschritt-Modus.
Ich habe jetzt schon eine Verzögerung zwischen Open und Close rein gemacht und kann dank fehlendem ScreenUpdate Falsch auch sehen, dass die Datei lange genug geöffnet ist - bringt aber letztlich nichts.
Verstehe nicht wo das Problem liegt, es ist mir unerklärlich!!!
Ich bin wirklich um jeden weiteren Tipp sehr froh!
LG,
Christian
Anzeige
AW: Einzelschrittmodus funktioniert/Ausführung nicht
19.06.2019 11:27:34
ChrisL
Hi Christian
Um das Problem weiter einzugrenzen wäre eine klare Aussage hilfreich, ob bei einer Massenverarbeitung das Speicherdatum ändert oder nicht.
Falls es ändert, dann würde ich auf ein UpdateLink Problem tippen und deine Idee mit der zeitlichen Verzögerung weiter verfolgen. Hierfür würde ich mit OnTime arbeiten. Evtl. wäre auch ein DoEvents angebracht (müsste mich auch wieder einlesen), aber sicher solltest du nicht Wait verwenden.
cu
Chris
AW: Einzelschrittmodus funktioniert/Ausführung nicht
19.06.2019 13:24:15
SPL
Hi Chris,
vielen Dank für deine Hilfe.
Richtig, auch so hat es nicht für die Massenverarbeitung funktioniert - sorry, dass ich das nicht explizit gesagt habe.
Ich habe jetzt noch einmal alles probiert und nach wie vor ist es mir ein Rätsel, wo das Problem liegt.
Meine Lösung sieht jetzt so aus, dass ich ein ActiveWorkbook (oder über SET) mit .Save vor .Close setzen und das "True" bei .Close weglasse.
Es funktioniert so wieder tadellos - warum ist dann aber eine andere Frage.......
Jedenfalls nochmals danke an dich, dass du dich der Sache angenommen hast!!!
LG,
Christian
Anzeige

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige