Problem mit Excel

  • Guten Morgen,

    ich habe ein Problem mit folgenden Script:

    [autoit]

    $file = FileOpen("test.csv", 1)

    [/autoit][autoit][/autoit][autoit]

    ; Check if file opened for writing OK
    If $file = -1 Then
    MsgBox(0, "Error", "Unable to open file.")
    Exit
    EndIf

    [/autoit][autoit][/autoit][autoit]

    FileWriteLine($file, "A1;A2;A3")

    [/autoit][autoit][/autoit][autoit]

    FileClose($file)

    [/autoit]

    Das Script führt er aus soweit, aber wenn ich in Excel die Datei öffne, schreibt er es in die zweite Zeile rein, und die erste ist leer.
    Woran kann das liegen?

  • Das deine csv nicht leer ist sondern schon ein Enter oder was in der Richtung enthält und deshalb AutoIt in die nächste Zeile schreibt.

  • Hmm Lass ma das Fileopen usw weg...

    Mach ma nur FileWriteLine...


    weiss net ich hab so zeug mit csv dateien auch schon gemacht... bei mir hat immer alles geklappt

    MFG FireFlyer

    *Paradox ist, wenn man sich im Handumdrehen den Fuss bricht* :D

  • nein keins von dem, kannst es ja mal selber testen.


    Hab ich und zwar mit Rechtsklick->Neu->Textdokument->Benannt als test.csv Kurz auf Go und Scite und danach das Dokument in Excel geöffnet und was drin stand ist genau das was sollte.

  • @mehrsolala
    hab ich auch gemerkt das klappt, aber wenn ich excel öffne über das Startmenü ganz normal und dann speichern unter mache als .csv abspeicher und schließe und dann das Script starte , dann lässt er eine Zeile frei, woran das liegt weiß ich auch. Aber so wie du es beschrieben macht klappt es super.

  • folgendes Script funktioniert bereits:

    [autoit]

    Global $file, $aSpalte[3]

    [/autoit][autoit][/autoit][autoit]

    $file = FileOpen("test.csv", 1)

    [/autoit][autoit][/autoit][autoit]

    $aSpalte[0] = InputBox( "Spalte1", " ")
    $aSpalte[1] = InputBox( "Spalte2", " ")
    $aSpalte[2] = InputBox( "Spalte3", " ")

    [/autoit][autoit][/autoit][autoit]

    FileWriteLine($file, $aSpalte[0] & ";" & $aSpalte[1] & ";" & $aSpalte[2])

    [/autoit][autoit][/autoit][autoit]

    FileClose($file)

    [/autoit]


    Nun möchte ich das nach "FileClose($file)" die CSV-Datei öffnet, also richtig öffnet, dass man sie auch sehen kann.
    Weiß einer wie das geht, ich durchforste schon dauernd die Hilfe, Schade das es mit Run() nicht geht.

  • hmm geht das nicht mit shellexecute?

    eigentlich schon :) solange du standardmäßig bei csv dateien excel als programm angegeben hast ;)

    MFG FireFlyer

    *Paradox ist, wenn man sich im Handumdrehen den Fuss bricht* :D

  • Nun möchte ich noch eine GUI in mein Script einbauen und sie will nich Funktionieren.

    [autoit]

    #include <GUIConstantsEx.au3>
    GUICreate("Info", 200, 100, -1, -1, $WS_EX_TOPMOST + $WS_POPUP))
    GUISetState(@SW_SHOW)

    [/autoit][autoit][/autoit][autoit]

    While 1
    $msg = GUIGetMsg()

    If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    Wend

    [/autoit]

    folgende Fehlermeldung:

    HILFE!!!

  • 1. GUIConstants includen
    2. Zeile 2 ersetzen durch:

    [autoit]

    GUICreate("Info", 200, 100, -1, -1, $WS_POPUP, $WS_EX_TOPMOST)

    [/autoit]

    MFG FireFlyer

    *Paradox ist, wenn man sich im Handumdrehen den Fuss bricht* :D

  • klappt immernoch nicht, hab auch schon vorher BitOR versucht.

    Code
    D:\Programme\Programmierung\AutoIt3\Projects\test.au3(170,58) : WARNING: $WS_EX_TOPMOST: possibly used before declaration.
    GUICreate("Info", 200, 100, -1, -1, BitAnd($WS_EX_TOPMOST,
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    D:\Programme\Programmierung\AutoIt3\Projects\test.au3(170,68) : WARNING: $WS_POPUP: possibly used before declaration.
    GUICreate("Info", 200, 100, -1, -1, BitAnd($WS_EX_TOPMOST,$WS_POPUP)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    D:\Programme\Programmierung\AutoIt3\Projects\test.au3(170,58) : ERROR: $WS_EX_TOPMOST: undeclared global variable.
    GUICreate("Info", 200, 100, -1, -1, BitAnd($WS_EX_TOPMOST,
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    D:\Programme\Programmierung\AutoIt3\Projects\test.au3 - 1 error(s), 2 warning(s)
  • ich weiß nicht was los ist.

    Code
    D:\Programme\Programmierung\AutoIt3\Projects\test.au3(170,46) : WARNING: $WS_POPUP: possibly used before declaration.
    GUICreate("Info", 200, 100, -1, -1, $WS_POPUP,
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    D:\Programme\Programmierung\AutoIt3\Projects\test.au3(170,62) : WARNING: $WS_EX_TOPMOST: possibly used before declaration.
    GUICreate("Info", 200, 100, -1, -1, $WS_POPUP, $WS_EX_TOPMOST)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    D:\Programme\Programmierung\AutoIt3\Projects\test.au3(170,46) : ERROR: $WS_POPUP: undeclared global variable.
    GUICreate("Info", 200, 100, -1, -1, $WS_POPUP,
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    D:\Programme\Programmierung\AutoIt3\Projects\test.au3 - 1 error(s), 2 warning(s)