thill0r
Goto Top

VBA Speichern unter Dialog unterdrücken und automatisches überschreiben

Hallo bin neu hier.Würde mich freuen wenn mir jemand helfen könnte.
Habe schon ähnliche Themen gefunden , die mir leider nicht halfen.

Nun zu meinem Problem:
In meiner Firma muss ich folgendes Realisieren:
Es soll zu einer bestimmten Zeit eine Exceldatei gestartet werden.Diese soll für eine bestimmte Zeit geöffnet bleiben und dann automatisch als .csv gespeichert werden.
Mein einziges Problem was ich habe ist , dass er beim 2. mal Ausführen , also wenn schon eine .csv aus der .xls erstellt wurde der "Speicherndialog" kommt.Dieser muss unterdrückt werden bzw es soll automatisch überschrieben werden , da das Ganze automatisiert ablaufen soll.Dieses "Projekt" stellt eine erhebliche Erleichterung einiger unserer Abteilungen dar.
Es wäre echt super wenn mir jemand helfen könnte!!

Hier der Code:

Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open("d:\ordner\test.xls")
objExcel.Visible = true
objWorkbook.RefreshAll
wscript.sleep 10000
objWorkbook.SaveAs ("d:\ordner\test.csv")
wscript.sleep 10000
objExcel.Quit


Großen Dank für Eure Zeit!!

Content-ID: 138722

Url: https://administrator.de/forum/vba-speichern-unter-dialog-unterdruecken-und-automatisches-ueberschreiben-138722.html

Ausgedruckt am: 22.12.2024 um 09:12 Uhr

Biber
Biber 20.03.2010 um 12:55:21 Uhr
Goto Top
Moin thill0r,

willkommen im Forum.

Gib vor dem Speichern-Befehl ein
objExcel.DisplayAlerts = False
danach
objExcel.DisplayAlerts = True

P.S. Welchen tieferen Sinn haben denn die beiden "WScript.schnarch 10000"-Zeilen?

Grüße
Biber
thill0r
thill0r 20.03.2010 um 12:57:11 Uhr
Goto Top
Hi Biber,

Danke für deine schnelle Antwort.
Du meinst es also so?

Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open("d:\ordner\test.xls")
objExcel.Visible = true
objWorkbook.RefreshAll
wscript.sleep 10000
Application.DisplayAlerts = False
objWorkbook.SaveAs ("d:\ordner\test.csv")
Application.DisplayAlerts = True
wscript.sleep 10000
objExcel.Quit
Biber
Biber 20.03.2010 um 13:00:28 Uhr
Goto Top
Moin thill0r,

ja, fast.
Ich habe vor/während deiner Antwort noch mal edititiert... dort wo zuerst Application.DisplayAlerts stand, steht jetzt objExcel.DisplayAlerts, wie in deinem Kontext richtiger.

Grüße
Biber
thill0r
thill0r 20.03.2010 um 13:04:48 Uhr
Goto Top
Ok Vielen Dank.

Der Sinn ist , dass die erste Wscript Schnarchzeile :D die Exceldatei für 10 Sekunden offen lässt , bis diese geschlossen wird und die 2. ist noch mal eine Absicherung bzw Vorsorge..

Ich teste es am Montag gleich auf Arbeit.
Ich melde mich diesbezüglich ob es geklappt hat!

Schönes WE noch!
thill0r
thill0r 22.03.2010 um 07:27:10 Uhr
Goto Top
Hi Biber,

vielen Dank , klappt sogar :D

Schöne Woche!!!