dirk.dietze
Goto Top

Csv datei per vb script speichern und überschreiben ohne nachfrage

Es werden aus einer Excel Tabelle mit dem Inhalt Zeile 1 - heutiges Datum + 6 Monate, Zeile 2 - heutiges Datum + 12 Monate und Zeile 3 - heutiges Datum + 24 Monate >> Ergebnis aus Formel > =DATUM(JAHR(HEUTE());3+MONAT(HEUTE());<, täglich per vb script die Werte ausgelesen und eine csv Datei erzeugt.
Funktioniert soweit prima, aber nur beim 1. mal, beim nächsten Aufruf des Scripts wird zum speichern und überschreiben aufgefordert. Wie kann ich das umgehen??
Habe mir schon in diversen Foren erlesen das es mit "Application.DisplayAlerts=False und Application.DisplayAlerts=True" funktioniern soll tut es aber in meinem Script nicht.
Ich bin leider völliger Laie auf diesem Gebiet und hoffe hier Hilfe zu finden.
Mein derzeitiges Script hat folgenden Inhalt:

Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open("C:\Users\dirk.dietze.HCS-CHEMNITZ\Desktop\Auswahlliste Wiedervorlage.xls")
objExcel.Visible = True

objWorkbook.RefreshAll

'legt den Script schlafen, bis aktualisiert ist
'in Tausendstel-Sekunden, hier also 10 Sekunden
wscript.sleep 10000

objWorkbook.save


Application.DisplayAlerts=False
wscript.sleep 10000
objWorkbook.SaveAs ("C:\Test.csv")
Application.DisplayAlerts=True


'schliesst Excel
objExcel.Quit
<<
Bedanke mich schon mal im vorab für jede Unterstützung.

Content-Key: 208452

Url: https://administrator.de/contentid/208452

Ausgedruckt am: 19.03.2024 um 09:03 Uhr

Mitglied: colinardo
colinardo 21.06.2013 um 23:42:14 Uhr
Goto Top
hi,
Versuchs mal mit
objExcel.DisplayAlerts = False
DasApplication ist nur innerhalb der Excel VBA Umgebung gültig. In deinem Script gibst du diesem Application Objekt ja den Namen objExcel.
Grüße Uwe
Mitglied: dirk.dietze
dirk.dietze 22.06.2013 um 12:09:15 Uhr
Goto Top
Hi colinardo,

vielen Dank für deine schnelle Hilfe, hat funktioniert.
Leider habe ich heute festgestellt das das Datum im Format 9/22/2013 in der csv Datei ausgegeben wird was für meine Zwecke leider Unbrauchbar ist.

Zur Erklärung: von meinem Chef ist gefordert das auf dem Server, am besten eine Textdatei, die in vier untereinander stehenden Zeilen das jeweils aktuelle Datum + 3, 6, 12, 24 Monate im Format:
22.09.2013
22.12.2013
22.06.2014
22.06.2015
entsteht.
Diese wird einem Programm als Auswahlliste hinterlegt um das Prüfdatum eines Dokuments festzulegen, deshalb muß diese Textdatei immer das Tagesaktuelle Datum + den Monaten siehe oben enthalten.
Auf Grund meiner jungfräulichen Erfahrungen mit VB Script habe ich es über die Auslese einer Exceltabelle versucht, sicher gibt es auch eine bessere Lösung direkt aus dem VB Script mit Ausgabe als txt .

Wenn du dazu eine Lösung anzubieten hättest wäre ich sehr dankbar, probier hier schon 2 Tage herum. face-sad

LG Dirk
Mitglied: colinardo
colinardo 22.06.2013 aktualisiert um 15:29:35 Uhr
Goto Top
Hallo Dirk,
klar geht das ohne Excel kein Problem ...
(Pfad der Ausgabedatei steht in Zeile 3)
Set objFSO = CreateObject("Scripting.FileSystemObject")  
Set objTextFile = objFSO.CreateTextFile("C:\test.txt", True)  
today = Date
objTextFile.WriteLine(FormatDateTime(DateAdd("m",3,today),vbShortDate))  
objTextFile.WriteLine(FormatDateTime(DateAdd("m",6,today),vbShortDate))  
objTextFile.WriteLine(FormatDateTime(DateAdd("m",12,today),vbShortDate))  
objTextFile.WriteLine(FormatDateTime(DateAdd("m",24,today),vbShortDate))  
objTextFile.Close()
Grüße Uwe
Mitglied: dirk.dietze
dirk.dietze 22.06.2013 um 14:10:52 Uhr
Goto Top
Hallo Uwe,

sau stark, geht einwandfrei, war schon am verzweifeln!!
Gibt's hier im Forum die Möglichkeit User in ne Freundeliste aufzunehmen?
Könnte sein das mein Chef jetzt doch öfter solche Sachen von mir verlangt und da wäre es gut wenn ich direkt auf dich zurückgreifen könnte! face-wink

Noch ne kleine Frage zum Schluß!?!
Hast du einen Tipp wo ich mir VB Script technisch einiges erlesen könnte, erstens um es besser zu verstehen und zweitens um vielleicht solche (für Profis wie dich) ja offensichtlich kleinen Aufgaben vielleicht auch selber lösen zu können.

Nochmals vielen Dank für deine professionelle Hilfe und noch ein schönes WE!!

Gruß Dirk
Mitglied: colinardo
colinardo 22.06.2013 aktualisiert um 14:25:00 Uhr
Goto Top
Zitat von @dirk.dietze:
Gibt's hier im Forum die Möglichkeit User in ne Freundeliste aufzunehmen?
Auf der Profilseite des jeweiligen Users oben rechts gibt es einen Link Mit [USER] verbinden
Dort hast du auch die Möglichkeit persönliche Nachrichten zu verschicken.
Noch ne kleine Frage zum Schluß!?!
Hast du einen Tipp wo ich mir VB Script technisch einiges erlesen könnte, erstens um es besser zu verstehen
Da gibt es einige Tutorials im Netz. Hier eine Auswahl:

Ein Editor für VBS gibt es auch einen guten: http://vbsedit.com/. Darin enthalten sind etliche Beispielscripts für jedwede Aufgabe, das ist vor allem für den Anfang zum lernen sehr hilfreich.

Ebenfalls schönes Wochenende
face-wink Uwe