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. rollod

Beiträge von rollod

  • Variabel für Excel Tabellenblatt über Ini Datei... Bug?

    • rollod
    • 19. April 2012 um 22:52

    Hallo,

    mir sind beim Scripten zwei Phänomene/Fragen aufgekommen.

    Habe ein Script mit dem ich Daten aus einer Excel Tabelle auslese, modifiziere, und zurück schreibe...

    Test.au3

    Spoiler anzeigen
    [autoit]


    #cs ----------------------------------------------------------------------------

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

    AutoIt Version: 3.3.6.1
    Author: myName

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

    Script Function:
    Template AutoIt script.

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

    #ce ----------------------------------------------------------------------------
    #include <Excel.au3>
    #include <Array.au3>

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

    Local $ArbVerz= @ScriptDir
    Local $ExTabBlatt = 2;IniRead (@ScriptDir & "\test.ini", "ExcelExport", "ExcelTabellenBlatt",3)
    Local $ExCellRange = IniRead (@ScriptDir & "\test.ini", "ExcelExport", "ExcelRange","A23:Z406")
    Local $ArSuchspalte = IniRead (@ScriptDir & "\test.ini", "ExcelExport", "ArraySuchspalte",19)
    Local $ArStartzeile = IniRead (@ScriptDir & "\test.ini", "ExcelExport", "ArrayStartSuchZeile",0)
    Local $AnzErkDat = IniRead (@ScriptDir & "\test.ini", "ExcelExport", "AnzeigeErkannterDaten",1)

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

    While 1
    Local $FileName = FileOpenDialog("Dateiauswahl", $ArbVerz, "Excel (*.xls;*.xlsx)", 1)
    If @error Then
    MsgBox(4096, "", "Keine Datei ausgewählt!")
    ExitLoop
    EndIf

    $oExcel = ObjGet($FileName)

    If (@error) and IsObj($oExcel) Then
    Msgbox (0,"Excel Data Read","Error: Zugriff verweigert")
    ExitLoop
    EndIf
    $TabBlatt=$oExcel.Worksheets($ExTabBlatt)
    $aArray = $TabBlatt.range($ExCellRange).value
    $rows = UBound($aArray) ;letzte Zeile
    $cols = UBound($aArray, 2) ;letzte Spalte
    $Zeile = $ArStartzeile
    If $AnzErkDat = 1 Then
    _ArrayDisplay($aArray, "Übersicht erkannte Excel-Daten", -1, 1)
    EndIf

    $aArray[0][1]="Gespeichert"

    If $AnzErkDat = 1 Then
    _ArrayDisplay($aArray, "Übersicht erkannte Excel-Daten", -1, 1)
    EndIf
    Exitloop
    WEnd
    $TabBlatt.range($ExCellRange).value = $aArray
    $oExcel.Save
    Exit

    [/autoit]

    Test.ini

    Spoiler anzeigen


    [ExcelExport]
    ExcelTabellenblatt=2
    ExcelRange="A1:F6"
    ArraySuchspalte=2
    ArrayStartSuchZeile=0

    Frage 1 : Wenn ich in Zeile 14 die Variabel für das Excel Tabellenblatt direkt angebe läuft alles.
    Wenn die Variabel aus einer INI Datei übernommen werden soll, bricht das Script ab...
    Bug oder normal?

    Vielleicht kann mal jemand gucken ob das bei ihm auch so ist...


    Frage 2: Wenn ich die Excel Tabelle nach dem Speichern wieder mit Excel öffnen will, ist diese erst immer "Ausgeblendet". Wie kann ich das mit dem Script so speichern, das ich Sie später auch normal in Excel wieder öffnen kann?

    Gruß

    Rollod

  • Col und Row im Array tauschen.

    • rollod
    • 30. Dezember 2011 um 17:57

    Hallo BugFix,

    danke für die schnelle Antwort.

    Kann ich bei _ExcelReadArray auch mit der in Excel gängigen Range (A23:T52) arbeiten, oder muß ich den Umweg über "$iStartRow, $iStartColumn, $iNumCells" wählen?

    Hatte gehofft die Range bei bedarf schnell und einfach auf meine Bedürfnisse anzupassen...
    Ansonsten muß ich wohl ein separten Teil dazu entwerfen...

    Beste Grüße

  • Col und Row im Array tauschen.

    • rollod
    • 30. Dezember 2011 um 17:03

    Hallo,

    ich habe eigentlich nur ein ganz kleines Problem und stehe glaub ich einfach auf dem Schlauch. ?(
    Schon mal Sorry falls es offensichtlich irgendwo steht und ich es Übersehe... ;(

    Ich muß aus einer Excel Tabelle nach einem bestimmten Wert suchen und entsprechend zwei Spalten davor bestimmte Werte einfügen.
    Da die Excel Tabelle ziemlich groß ist, und das ganze ja auch noch recht performant laufen soll übertrage ich die Werte erst in ein Array...
    Damit es einfach zu Modifizieren ist, arbeite ich mit einem Bereich aus Excel ("A23:T52").

    Spoiler anzeigen
    [autoit][/autoit] [autoit][/autoit] [autoit]

    #include <Excel.au3>
    #include <Array.au3>
    Local $Suchbegriff = '01-008-01'
    Local $Suchspalte = 20
    Local $CellRange="A23:T52"
    Local $Address = 0
    Local $FileName=@ScriptDir & "\Test1.xls"

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

    if not FileExists($FileName) then
    Msgbox (0,"Excel Data Read","Error: Kann die Excel Quelldatei nicht finden: " & $FileName)
    Exit
    endif

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

    $oExcel = ObjGet($FileName)

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

    If (@error) and IsObj($oExcelDoc) then
    Msgbox (0,"Excel Data Read","Error: Zugriff verwergert")
    Exit
    endif

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

    $TabBlatt=$oExcel.Worksheets(4)

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

    $aArray = $TabBlatt.range($CellRange,).value
    _ArrayDisplay($aArray, "Array using Default Parameters")

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

    For $i = 0 To UBound($aArray) - 1
    If $aArray[$i][$Suchspalte] = $Suchbegriff Then $Address = $aArray[$i][$Suchspalte])
    Next
    Msgbox (0,"Ausgabe","Zelle ist: "& $Address)

    [/autoit]


    Meine Frage:

    bei dem Befehl: $aArray = $TabBlatt.range($CellRange,).value wird die Zeile mit der Spalte ausgetauscht, was es für mich etwas Unübersichtlich macht...
    Wie kann ich es einfach negieren oder besser gleich Zeile zu Row und Spalte zu Col zuweisen???

    Da muß es doch eine einfache Befehlserweiterung oder ähnliches geben, oder??

    Viele Grüße.

  • Datenübernahme aus einer Excel Tabelle in eine andere vorgefertigte Excel Tabelle per Autoit

    • rollod
    • 4. September 2011 um 19:28

    Hallo Zusammen.

    Ich bin ein ziemlicher Neuling in Sachen Autoit, habe aber allmählich Blut geleckt! :love:


    Bin eigentlich total Talentfrei was programmieren angeht, aber an Autoit finde ich immer mehr gefallen! So zwei drei kleine Skripte die mir in meinem Alltag schon sehr helfen habe ich zu Stande bekommen. :rock:

    Aber jetzt werfen sich mir doch ein paar Fragen auf, bei denen ich Eure Hilfe gebrauchen könnte! ?(

    Ich habe vor eine Datenübernahme zwischen zwei unterschiedlichen Excel Tabellen zu machen.

    Habe mit Excel auch nicht so viel Erfahrung und hoffe ich mache es mir nicht zu kompliziert....

    Die Quell Tabelle welche die Daten enthält, ist eine Standard Tabelle, also
    etwa so:

    ---------------------------------------------------------------------------
    1| Name | Vorname| Geräteart | Port-Art | Port-Nr. |
    |--------------------------------------------------------------------------
    2| Müller | Harry | PC...........| 100 M.....| 01-03.....|
    3|.......... |.......... |.................|...............| 01-01.....|
    4|...........|...........|.................|...............| 02-01.... |
    ----------------------------------------------------------------------------

    Die Ziel-Tabelle sieht zwar optisch ganz ähnlich aus, aber ich kann die
    Daten nicht per Copy & Past übernehmen, da zwischendrin immer wieder Zeilen
    einfach ausgeblendet sind.(Fragt mich bitte nicht warum, hat mit irgendwelchen
    Berechnungen in dem Excel Dokument zu tun...)


    ----------------------------------------------------------------------------
    1 | Name | Vorname| Geräteart | Port-Art | Port-Nr. |
    |---------------------------------------------------------------------------
    21|.........|.............|................|.............| 01-01.....|
    22|.........|.............|................|.............| 01-02.....|
    34|Müller| Harry...| PC...........| 100 M.| 01-03.....|
    37|.........|.............|................|.............| 01-04.....|
    42|.........|.............|................|.............| 02-01.....|
    ----------------------------------------------------------------------------
    Zur Zeit darf ich also die Daten manuell übernehmen...

    Kann mir jemand Tipps geben, oder mit sagen ob es eine Funktion gibt um zu
    prüfen ob die Zeile in der Zieltabelle ausgeblendet ist oder nicht?


    Super Klasse wäre natürlich noch wenn die ersten Spalten entsprecht der
    Port-Nr. gefüllt werden, aber das ist im Moment noch kein muss... Ich könnte
    auch einfach die Quell Tabelle entsprechend Sortieren und dann das Script der
    Reihe nach ablaufen lassen...


    Vielleicht hatte ja auch schon jemand ein ähnliches Problem und schon ein
    Script fertig ... ;)

    Viele Grüße
    Rollod

    P.S. Eine Auswertung nur nach den Port-Nr. geht leider nicht, da diese auch
    teilweise in den ausgeblendeten Zeilen ein weiteres mal vergeben sind...

  • ZahlenWerte per DTMF in Excel schreiben...

    • rollod
    • 23. Januar 2010 um 00:01

    Hallo Zusammen.

    Ich suche eine einfache Möglichkeit ZahlenWerte wie Zählerstände per Telefon in meinen Server zu speichern. Gibt es über AutoIt die Möglichkeit DTMF Töne über eine ISDN Karte auszuwerten und in eine Excel Tabelle zu schreiben?


    Stelle mit das so vor:
    Anruf: (Evtl. Ansage) 1=Strom 2=Gas 3=Wasser

    56473# --> Dann soll dieser Wert in die entsprechende Tabelle (am schönsten direkt in eine Excel Tabelle) + Datum und evtl. Uhrzeit gespeichert werden...

    Hat jemand ein passendes Skript oder eine schnelle Idee ob dies umzusetzen ist?

    Gruß Stefan

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™