1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. drkcld

Beiträge von drkcld

  • Excel Tabelle Namen und Zahlen auslesen, in variable speichern

    • drkcld
    • 29. März 2016 um 13:12

    Ja ich habe es gesehen, danke dafür!
    Edit:
    Ich habe deinen code aus dem englischen Forum übernommen

    Spoiler anzeigen
    AutoIt
    #include <Excel.au3>
    #include <Array.au3>
    #include <GUIConstants.au3>
    #include <EditConstants.au3>
    #include <MsgBoxConstants.au3>
    Global $sCol1 = "", $sCol2 = "", $sCol3 = "",  $sTemp = "", $aTemp = ""
    Global $sWorkbook = @ScriptDir & "\test.xls"
    Global $oExcel = _Excel_Open()
    ;If @error Then Exit MsgBox($MB_ICONERROR, "Fehler", "Fehler beim öffnen von Excel! @error = " & @error & ", @extended = " & @extended)
    Global $oWorkbook = _Excel_BookOpen($oExcel, $sWorkbook)
    ;If @error Then Exit MsgBox($MB_ICONERROR, "Fehler", "Fehler beim öffnen der Datei! @error = " & @error & ", @extended = " & @extended)
    GUICreate("Exelread v1.0", 400, 400)
    GUICtrlCreateTab(0, 0, 400, 400)
    GUICtrlCreateTabItem("Vorname")
    $idLabel1 = GUICtrlCreateLabel($sCol1, 10, 30, 380, 20)
    $idButton1 = GUICtrlCreateButton("Los", 300, 300)
    GUICtrlCreateTab(0, 0, 400, 400)
    GUICtrlCreateTabItem("Nachname")
    $idLabel2 = GUICtrlCreateLabel($sCol2, 10, 30, 380, 20)
    $idButton2 = GUICtrlCreateButton("Los", 300, 300)
    GUICtrlCreateTab(0, 0, 400, 400)
    GUICtrlCreateTabItem("Postleitzahl")
    $idLabel3 = GUICtrlCreateLabel($sCol3, 10, 30, 380, 20)
    $idButton3 = GUICtrlCreateButton("Los", 300, 300)
    GUICtrlCreateTabItem("")
    GUISetState(@SW_SHOW)
    While 1
        $msg = GUIGetMsg()
        Select
            Case $msg = $GUI_EVENT_CLOSE
                _Excel_BookClose($oWorkbook)
                _Excel_Close($oExcel)
                Exit
            Case $msg = $idButton1
                $sTemp = _Excel_RangeRead($oWorkbook, Default, "A1") ; Read a single cell
                If @error Then MsgBox($MB_ICONERROR, "Fehler", "Fehler beim auslesen! @error = " & @error & ", @extended = " & @extended)
                GUICtrlSetData($idLabel1, $sTemp)
            Case $msg = $idButton2
                $aTemp = _Excel_RangeRead($oWorkbook, Default, "A1:C1") ; Read a row
                If @error Then MsgBox($MB_ICONERROR, "Fehler", "Fehler beim auslesen! @error = " & @error & ", @extended = " & @extended)
                $sTemp = _ArrayToString($aTemp)
                GUICtrlSetData($idLabel2, $sTemp)
            Case $msg = $idButton3
                $aTemp = _Excel_RangeRead($oWorkbook, Default, "A1:A4") ; Read a column
                If @error Then MsgBox($MB_ICONERROR, "Fehler", "Fehler beim auslesen! @error = " & @error & ", @extended = " & @extended)
                $sTemp = _ArrayToString($aTemp)
                GUICtrlSetData($idLabel3, $sTemp)
        EndSelect
    WEnd
    Alles anzeigen

    Es gibt einen fehler beim öffnen von Excel...
    mal eine doofe frage:
    geht das ganze auch mit openoffice? wenn nein, muss excel installiert sein?

  • Excel Tabelle Namen und Zahlen auslesen, in variable speichern

    • drkcld
    • 25. März 2016 um 16:15
    Zitat von autoBert


    dafür muß natürlich das Label auch über eine Varibale ansprechbar sein:

    Code
    $idSp1=GUICtrlCreateLabel($sp1, 100, 100)

    auf den Umweg lokale Variable kannst du auch verzichten:

    Code
    GUICtrlSetData($idSp1,_Excel_RangeRead($xlspart, 2, "C6", 2))

    Danke das hat soweit geklappt, bin ein wenig aus der übung und kam da nicht drauf... komisch jedoch ist, dass er nur "0" ausliest...
    Die funktion nutze ich:

    Case $msg = $r4
    GUICtrlSetData($idSp1,_Excel_RangeRead($oExcel, $test,"A2:A8", 1))
    zum verständnis für mich:
    $oExcel ist das geöffnete Excel
    $test ist das dokument
    1 ist für value - müsste richtig sein :o

  • Excel Tabelle Namen und Zahlen auslesen, in variable speichern

    • drkcld
    • 25. März 2016 um 15:11

    Mahlzeit!
    Ich möchte aus einer vorhandenen Excel Tabelle
    -Auf Tab1-> Spalte A(Erster eintrag)
    -Auf Tab2-> Spalte B(Erster eintrag)
    -Auf Tab3-> Spalte C(Erster eintrag)
    -Auf Tab4-> Spalte D(Erster eintrag)
    -Auf Tab5-> Spalte E(Erster eintrag)
    -Auf Tab6-> Spalte F(Erster eintrag)
    auslesen und in einer Variable speichern... mein Code ist folgender:

    Spoiler anzeigen
    AutoIt
    #include <Excel.au3>
    #include <Array.au3>
    #include <GUIConstants.au3>
    #include <EditConstants.au3>
    Local $oExcel = _Excel_Open()
    Local $xlspart = @ScriptDir & "\data.xls"
    Local $test = _Excel_BookOpen($oExcel, $xlspart, Default, Default, True)
    $sp2 = "0"
    $sp1 = "0"
    $sp3 = "0"
    $sp4 = "0"
    $sp5 = "0"
    $sp6 = "0"
    $Gui1 = GUICreate("Exelread v1.0", 400, 400)
    GUICtrlCreateTab(0, 0, 400, 400)
    GUICtrlCreateTabItem("Spalte 1")
    GUICtrlCreateLabel($sp1, 100, 100)
    $r1 = GUICtrlCreateButton("Read", 300, 300)
    GUICtrlCreateTabItem("Spalte 2")
    GUICtrlCreateLabel($sp2, 100, 100)
    $r2 = GUICtrlCreateButton("Read", 300, 300)
    GUICtrlCreateTabItem("Spalte 3")
    GUICtrlCreateLabel($sp3, 100, 100)
    $r3 = GUICtrlCreateButton("Read", 300, 300)
    GUICtrlCreateTabItem("Spalte 4")
    GUICtrlCreateLabel($sp4, 100, 100)
    $r4 = GUICtrlCreateButton("Read", 300, 300)
    GUICtrlCreateTabItem("Spalte 5")
    GUICtrlCreateLabel($sp5, 100, 100)
    $r5 = GUICtrlCreateButton("Read", 300, 300)
    GUICtrlCreateTabItem("Spalte 6")
    GUICtrlCreateLabel($sp6, 100, 100)
    $r6 = GUICtrlCreateButton("Read", 300, 300)
    GUISetState(@SW_SHOW)
    While 1
    	$msg = GUIGetMsg()
    	Select
    		Case $msg = $GUI_EVENT_CLOSE
    			Exit
    		Case $msg = $r1
    			Local $sp1 = _Excel_RangeRead($xlspart, 2, "C6", 2)
    		Case $msg = $r2
    			Local $sp2 = _Excel_RangeRead($xlspart, 2, ("B2:B6"), 2)
    		Case $msg = $r3
    			Local $sp3 = _Excel_RangeRead($xlspart, 2, ("C2:C6"), 2)
    		Case $msg = $r4
    			Local $sp4 = _Excel_RangeRead($xlspart, 2, ("D2:D6"), 2)
    		Case $msg = $r5
    			Local $sp5 = _Excel_RangeRead($xlspart, 2, ("E2:E6"), 2)
    		Case $msg = $r6
    			Local $sp6 = _Excel_RangeRead($xlspart, 2, ("F2:F6"), 2)
    	EndSelect
    WEnd
    Alles anzeigen

    Ich habe versucht eine einzelne zeile auszulesen und ich habe versucht einen Bereich in einer Spalte auszulesen, jedoch erhalte ich beim druck auf "Read"(Button) keinen wert, ausser den vordefinierten von "0"
    Kann mir wer helfen?

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™