Excel File als .csv speichern

  • Hallo zusammen,

    ich möchte gerne ein bereits vorhandenes Excel File mit Makros öffnen, bearbeiten und dann als .csv File speichern.

    Ich brauche es als .csv File, da dann das auslesen als Array schneller geht als wiewenn ich das Excel File als Array auslese.

    Jedenfalls bekomme ich es nicht hin, dass mein geöffnetes Excel File als .csv File gespeichert wir. Hab schon im Internet gesucht, finde aber nichts, was bei mir funktioniert.


    Bis jetzt sieht mein Quellcode so aus: (weiß leider nicht wie ich den in so ne schöne Box bekomme. Hab schon mal ne Hilfe dazu gesehen, aber die finde ich auch nicht mehr... ;( )

    ;-----------------------------------------

    #include <Excel.au3>
    #include <String.au3>
    #include <WindowsConstants.au3>
    #include <File.au3>

    $FileName = FileOpenDialog("Pick a file", @ScriptDir, "Excel Files (*.xls;*.xlsx;*.xlsm)");Excel file to be worked on is chosen

    if not FileExists($FileName) then;test if chosen Excel file exists
    Msgbox (0,"Excel File Test","Can't run this test, because it requires an Excel file in "& $FileName)
    Exit
    endif
    $oExcelDoc = ObjGet($FileName) ;Get an Excel Object from the chosen file

    _ExcelBookSaveAs($oExcelDoc, $FileName, "csvWin")

    ;-------------------------------------------------

    Der Befehl "_ExcelBookSaveAs($oExcelDoc, $FileName, "csvWin")" scheint nicht zu funktionieren. Aber ich weiß leider nicht wie ich das sonst schreiben soll.

    Falls ihr mir helfen könnt, dieses Problem zu lösen, könnt ihr mir dann bitte auch sagen, wo mein .csv File dann abgespeichert wird? Das weiß ich leider auch nicht so genau.


    Gruß Vanessa

  • hallo vakaba,

    was ist mit der internen excel funktion _ExcelBookSaveAs?
    hier kannst du die datei mit folgenden endungen speichern ... "xls|csv|txt|template|html", default "xls"

    gruß gmmg

  • Die aktuelle Excel UDF unterstützt nur Typen aus dem folgenden String: "xls|csv|txt|template|html"
    Wobei "csv" zu $xlCSVMSDOS wird. Wenn Du $xlCSVWindows benötigst, dann hilft nur meine neu geschriebene Excel UDF (Beta).