Beiträge von GML

    Hallo


    Ich versuche hier - eigentlich etwas ganz einfaches - in der Registry (Win10/64) nachzusehen ob PuTTY installiert ist. SOFTWARE\SimonTatham muß es geben, sonst Programmabbruch.



    Auch den Reg-Key HKEY_LOCAL_MACHINE64\SOFTWARE\SimonTatham habe ich versucht, ebenso wie die Variante HKLM\SOFTWARE\SimonTatham. Egal. Es wird immer ein @error gesetzt mit 0. Zum auswachsen.


    Wo liegt mein Fehler?


    LG

    Hallo,


    ev. wäre da der "Proxomitron" eine Lösung. Läuft auch auf alten Rechnern (hab ich irgendwann vor >10 Jahren in Betrieb gesetzt, läuft noch immer ...). Wird halt nicht mehr weiterentwickelt (Verfasser verstorben - RIP und danke für dieses Programm). Braucht eine gewisse Einarbeitung, kann aber ziemlich viel.

    mfG

    LG

    Hallo


    Nachdem ein "lieber" Kollege das Arbeitsblatt um Spalten AQ-BK erweitert hat (!) und dadurch die Verarbeitungszeit exponentiell angestiegen ist, hätte ich den Vorschlag (ob dieser sinnvoll umzusetzen ist kann ich, bei der für mich doch etwas höheren Komplexität der UDF, nicht sagen) die Funktion um eine Spaltengrenze zu erweitern. So in der Art:

    _xlsx_2Array(Const $sFile, Const $sSheetNr = 1, $dRowFrom = 1, $dRowTo = Default, $dColFrom = 1, $dColTo = Default)


    Grüsse

    LG

    Ich habs so gelöst (allerdings ohne AutoIt):


    Es scheint so. Ich hab die Tabelle bereinigt und kann sie hier heraufstellen (war eh gut, da über > 6 MB ;)). Mit dieser Datei

    ist genau das auch nicht möglich (getestet, Programm liegt bei):

    $aSheet = _xlsx_2Array(@ScriptDir & "\Kabelplan.xlsm", 3)

    Lösche ich auch nur ein einziges Tabellenblatt (somit unter 10 Tabellenblätter, egal welches nach dem 3. Blatt - das will ich ja auslesen) funktioniert xlsxNativ einwandfrei.


    Danke für deine Mühe


    LG

    Ja, habe die Variante mit 7za benutzt, das Ergebnis ist ohne 7za dasselbe bzw. der gleiche Fehler. Gibt es eine Möglichkeit dir die Datei über das Forum zukommen zu lassen, ohne sie ins Forum zu stellen?

    Wenn ich relevante Daten herauslösche, ist wieder nicht gewähleistet das der Fehler bei dir auftaucht.


    LG

    Guten Morgen

    Danke für das Angebot. Im Zuge der Bereinigung des Excel-Sheets um Firmenangaben bin ich möglicherweise auf den Kern des Problems gestoßen: mein Workbook umfaßt 10 Arbeitsblätter. Wenn ich ein Arbeitsblatt lösche (egal welches) funktioniert dein UDF. Sowie es >9 Arbeitsblätter hat, kommt der oben erwähnte Fehler. Eventuell ist das ein 1-9 = einstellig, >9 = zweistellig-Problem in der UDF?


    Grüsse

    LG

    >

    Könnte es sein das dieses (Fehl)Verhalten darin begründet ist das ich kein xlsx sondern ein xlsm aufmache (die zweite Excel-Datei die ich aufmache ist dann wieder ein xlsx)?

    <


    Hab ich gerade probiert. Das .xlsm als .xlsx gespeichert (brauch die Makros nicht), die Funktion _Excel_BookClose($oWorkbook, False) funktioniert wie gedacht und gewünscht.

    D.h. die Excel-Datei läßt sich ohne Probleme - ohne speichern - schließen. Es scheint als ob Excel.au3 da einen kleinen Fehler hat.


    Nein, das Makro in der Excel-Datei hat keinen Fehler, das funktioniert einwandfrei.


    Grüsse


    LG



    PS: auch der Parameter für _Excel_Open ( [$bVisible = False) funktioniert mit .xlsm nicht, genauso wie der Parameter $bScreenupdating der auch ignoriert wird.

    ProcessClose ist relativ brutal :| tät ich gerne vermeiden, da Excel nochmal aufmachen wieder Zeit kostet.


    >

    Was ist der Wert von @error und @extended nach _Excel_BookClose?

    <


    beides 0.


    Könnte es sein das dieses (Fehl)Verhalten darin begründet ist das ich kein xlsx sondern ein xlsm aufmache (die zweite Excel-Datei die ich aufmache ist dann wieder ein xlsx)?


    Grüsse

    LG

    Ich verwende AutoIt 3.3.14.5 und Ms-Office Standard 2016


    Was mache ich:


    Excel starten

    $hReport = _Excel_Open(Default, Default, False, Default, True)

    Excel-Datei readonly öffnen:

    $oWorkbook = _excel_bookopen($hReport, "Exceltest.xlsx", True)

    Arbeitsblatt ___Teile____ aktiv setzen

    $oWorkbook.WorkSheets("___Teile____").Activate

    mögliche gesetzte Filter zurücksetzen

    _Excel_FilterSet($oWorkbook, Default, Default, 0)

    Filter setzen auf Spalte 6 <> blank

    _Excel_FilterSet($oWorkbook, "___Teile____", Default, 6, "<>")

    gefilterten Bereich verarbeiten, in Array schreiben usw. funktioniert alles einwandfrei

    Excel-Datei schließen ohne speichern (funktioniert einfach nicht:(

    _Excel_BookClose($oWorkbook, False)

    Excel selber wird nicht geschlossen, da danach noch eine andere Excel-Datei geladen und verarbeitet

    wird, das funktioniert einwandfrei, ich ändere aber in der Exceldatei auch nichts.


    Excel-Datei schließen:

    Warum kommt hier trotz "False" - nicht speichern - immer die Aufforderung "Speichern: Ja/nein" von Excel?

    Das Skript pausiert natürlich an der Stelle bis das beantwortet wird.


    Danke an alle die darüber nachdenken :)


    LG

    Danke, das wäre wirklich zuviel Aufwand.


    Eine andere Möglichkeit habe ich noch im englischen Forum gefunden (allerdings ohne Zustandsspeicherung, also entweder eingeklappt oder ausgeklappt starten):


    For the opening of scripts to be folded by default, then add this into your User Options file and save.

    (Originalbeitrag)


    Code
    # Folding
    # enable folding, and show lines below when collapsed.
    fold=1
    fold.compact=1
    fold.flags=16
    fold.symbols=2
    fold.on.open=1
    fold.comment=1
    fold.preprocessor=1