Excel

  • hallo Habe eine frage wie kann ich ein Bestimmtest feld auslesen un in einem Inputfeld darstellen'? Wie man ein Wert in ein Inputfeld schreibt das weiss ich.
    Aber wie lesen ich eine bestimmte zelle aus?

    So sieht die Beispiel datei aus: Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.
    Also wenn heute der 16.02.2009 wäre dann sollte im inputfeld xx16 geschrieben werden wie mache ich das?
    über besipiele würde ich mich freuen ;)

    Edit1:
    keiner eine idee oder tipp?

    bernd670: beiträge zusammengefasst.

    lg SubZero ;)
    ==========================================================================

    "Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral."

    Einmal editiert, zuletzt von bernd670 (13. Juni 2009 um 19:00)

    • Offizieller Beitrag

    Hallo, Du hast das Thema gerade mal vor 4 Stunden eröffnet und jetzt bist Du schon wieder am pushen. Wir haben auch noch was anderes zu tun als immer gleich auf Fragen, in denen dann noch nicht mal ein Quellcode steht, zu Antworten. Ich glaube auch das es hier und im engl. Forum schon einige Beispiele gibt anhand derer Du dein Problem selbst lösen kannst. Also erst mal selbst probieren und wenn Du dann nicht weiter kommst kannst Du deine Fragen, mit entsprechendem Quellcode, posten.

  • ich bin schon etwas weiter kann jetzt eine Zelle lesen

    [autoit]

    #include <Excel.au3>
    #include <Date.au3>
    $sFilePath1 = "c:\Test.xls" ; Diese Datei sollte bereits existieren
    $oExcel = _ExcelBookOpen($sFilePath1)
    $sCellValue = _ExcelReadCell($oExcel, 2,1)
    MsgBox(0, "Exiting", $sCellValue)
    _ExcelBookClose($oExcel)
    MsgBox(0,'',"Das heutige Datum ist:" & _NowDate())

    [/autoit]

    wie kann ich den eine zelle lesen ohne excel dabei aufzumachen??
    Das Datum kann ich auch jetzt auslesen aber wie durchsuche ich das dokument danach und gebe den wert wieder?

    lg SubZero ;)
    ==========================================================================

    "Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral."

    Einmal editiert, zuletzt von subzero007 (14. Juni 2009 um 13:02)

    • Offizieller Beitrag

    wie kann ich den eine zelle lesen ohne excel dabei aufzumachen??
    Das Datum kann ich auch jetzt auslesen aber wie durchsuche ich das dokument danach und gebe den wert wieder?


    Du mußt Excel öffnen, kannst dies aber versteckt tun:

    [autoit]

    $oExcel = _ExcelBookOpen($sFilePath, 0) ; mit 1 ist es sichtbar (Standard)

    [/autoit]

    Deine 2te Frage kann ich nur beantworten, wenn ich weiß, was du willst. Ein bestimmtes Datum herauslesen, den letzten eingetragenen Wert....
    Schreib erst mal was genau du willst.

  • Also wenn heute der 15.02.2009 wäre dann sollte im inputfeld ($****") xx16 geschrieben werden wie mache ich das?
    über ein beispiele würde ich mich freuen Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    lg SubZero ;)
    ==========================================================================

    "Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral."

    • Offizieller Beitrag

    Das hatte ich schon verstanden. Aber steht denn in der Exceltabelle bereits das Datum 15.02.2009 drin? Ist es das letzte Datum in der Spalte? Oder muß es erst eingetragen werden?
    Und vor allem: Wo liegt der Sinn? Wenn ich jeden Tag prüfe ob heute der 15. / 16. ... ist und dann einfach in die Zelle daneben xx15 / xx16 schreibe, dann brauch ich doch kein externes Programm für. Das kannst du doch per Excelformel im Dokument selber tun.
    Denn etwas außerhalb von Excel zu tun, was Excel mit VBA wesentlich einfacher und schneller erledigen kann, macht keinen Sinn.

    Hier ist eine Lösungsvariante:

    [autoit]

    Local $sFilePath = 'Pfad.xls'
    Local $sSuchbegriff = '15.02.2009'
    Local $sWrite = 'xx' & StringLeft($sSuchbegriff, 2)

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

    Local $oExcel = ObjCreate("Excel.Application")
    $oExcel.Visible = 0
    Local $oBook = $oExcel.Workbooks.Open($sFilePath)
    Local $oSheet = $oBook.Sheets(1)

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

    Local $Zelle, $Address
    $Zelle = $oSheet.UsedRange.Find($sSuchbegriff)
    If $Zelle <> '' Then $Address = $Zelle.Address
    $oSheet.Range(StringReplace($Address, '$', '')).Offset(0, 1).Value = $sWrite

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

    $oExcel.DisplayAlerts = False ; unterdrückt Speichern - Nachfrage
    $oExcel.Save
    $oExcel.Application.Quit

    [/autoit]
  • Als ich dir eine PN schicken wollte ist mein FireFox abgeschmiert und das ist aus der PN eine Forum eintrag geworden
    Keine anhnung wie das passiert ist????

    lg SubZero ;)
    ==========================================================================

    "Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral."