Beiträge von Jescho

    Hallo zusammen,

    leider kann ich ein Fenster (Fehlermeldung) nicht vernünftig ansprechen. Nach etwas Recherche habe ich herausgefunden das das Handle von der Func WinGetHandle nicht komplett ausgegeben wird. Oder was mache ich falsch?


    Wenn ich folgenden Code ausführe erhalte ich folgende Angaben in der Console

    Ich arbeite mit der AutoIt-Version 3.3.12.0

    8 Jahre schon hier, alter Schwede. Ne aber mal im Ernst, Leute - nicht so aufschäumen. Ein netter Umgangston hat noch keiner Diskussion geschadet.


    Erstmal, mir ist super geholfen wurden, wie immer! Durch den Denkanstoß konnte ich meinen Code anpassen, so dass er jetzt das macht was ich wollte.


    Es liegt doch in der Natur der Dinge, dass es nicht nur einen Weg nach Rom gibt, also auch hier.


    Für den Lerneffekt ist es doch gut weitere Ansätze zu bekommen, außerdem kommt man dann sogar noch tiefer in das Thema.


    Warum habe ich mich an die Mathematiker gewannt, weil es meiner Meinung nach eine Mathematische Formel ist, die zur Lösung meines Problems von Nöten war.
    Und wenn ich jetzt in der Hilfe lese Modulo-Rechnung, Dividend und Divisor dann sind das doch Mathematische Aspekte, oder?


    Also zu Abschluss, danke für die Hilfe von allen!

    Hey danke, das funzt.


    Jedoch verstehe ich es noch nicht ganz.


    Und zwar der mittlere Teil erschließt sich mir noch nicht ganz.
    Das Mod ist eine Division, soweit klar. Aber was ist mit dem Fragezeichen und dann nochmal Mod wieso???
    Ich würde das gern nachvolziehen können um etwas dazuzulernen, und beim nächsten mal nicht wieder fragen zu müssen.

    Hallo zusammen,


    ich habe mir eine Abfrage zusammengeschrieben, die soweit auch erstmal funzt. Jedoch ist der Code ziemlich lang, und ich denke da ist noch potenziel.


    Beim durchlaufen einer For - Next Schleife würde ich gern durch eine Formel folgende Zähler umsetzen


    Durchlauf von $i von 1 bis 120,
    dann als Zweiten Zähler immer 1 bis 4
    und als dritten Zähler nach jeder 4 Gruppe eins weiter


    Fürs Verständnis eine kleines Zahlenbeispiel
    1 | 1 | 2
    2 | 2 | 2
    3 | 3 | 2
    4 | 4 | 2
    5 | 1 | 3
    6 | 2 | 3
    7 | 3 | 3
    8 | 4 | 3
    9 | 1 | 4
    10 | 2 | 4
    11 | 3 | 4
    12 | 4 | 4
    13 | 1 | 5
    14 | 2 | 5
    15 | 3 | 5
    16 | 4 | 5


    so sieht der Code bis jetzt aus


    ich hatte zwar schon mal eine entsprechende Formel hier im Forum gesehen, kann sie leider aber nicht mehr finden und das beim selbst zusammenbauen bin ich bis jetzt leider kläglich gescheitert.


    Wie kann man eine solche Anforderung am besten umsetzen?
    Für Denkanstöße wäre ich sehr dankbar.


    Viele Grüße Jens

    Hallo Ricardo,


    das hört sich ja echt interessant an. Ich habe meine Aktionen in Lotus Notes bisher nur durch Senden von Tastenkombinationen hinbekommen.


    Mal sehen ob ich da etwas umstellen kann. Im Moment bin ich nur zu stark in andere Projekte eingebunden. Sollte ich auf Probleme stoßen werde ich mich melden.


    Allen ein Frohes Fest


    Grüße Jens

    Respekt, das funzt. Ich frage mich wie man so etwas hin bekommt? 8o


    Aber das du die Fehlerbehandlung rausgelassen hast, finde ich schade.
    Leider habe ich nicht die Kenntnisse so etwas selbst zu erstellen. ?(


    Mit einer entsprechenden Anleitung würde ich das ja gern selbst einmal versuchen.


    Grüße Jens

    Das habe ich gleich mal ausprobiert. Funzt super.


    Bisher kannte ich jedoch die Möglichkeit als Verbindungoperatoren ein ? oder auch das : nicht. Oder wie muss ich diese Zeichen deuten?


    $sFile = ($sFileExt <> '') ? StringLeft($sFileExt, StringInStr($sFileExt, '.', 0, -1) -1) : ''


    Was kann man damit machen? Leider ergibt sich mir auch nicht ganz der Sinn.

    Super Einstieg, soetwas suche ich schon seit längerem. :rock: Danke :rock:


    Was mir jedoch aufgefallen ist, bei dem Feld Eingabe ist das % wohl der Func StringFormat geschuldet. Ist es nicht auch möglich, das Script dahingehend umzubauen, dass man statt dessen den Standard Platzhalter * nahmen kann. Oder wolltest du dass bewust nicht, da im SQL-String ja auch * vorkommen?


    Interessant währe auch noch eine ListviewAnsicht, aber das werde ich mal bei Gelegehei versuche selbst umzusetzen.


    bis dann


    Jescho

    Hallo, lieder besteht der Fehler bei mir immer noch. Ich habe es mit deinem Bsp. probiert, das selbe Ergebnis.


    warum es mit dem Bild nicht gefunzt hat ??? Aber hier noch einmal ein Abbild.


    Ich habe es jetzt mal als Dateianhang hinzufügt.


    ie macht ihr denn das mit dem URL-Link um Bilder direkt darzustellen? Geht das wirklich nur über Webspace?

    water ja das ist richtig. Nachdem ich im Taskmanager den Excel-Prozess geschlossen habe, kommt als Rückgabe von _FileCopyToLocal auch wieder der Dateipath.


    Bleibt die Frage wie ich das Objekt sauber beende.


    Wer kann helfen?

    Hallo zusammen,


    ich möchte gern eine Excel-Datei(2010 mit Macros) die auf einem Server liegt und in unregelmäßigen Abständen aktualiesiert wird, zur Ansicht auf einem lokalen Rechner starten.


    Da das ausführen der Excel-Datei auf dem Server ausfällt(da sie als geöffnette Datei nicht mehr aktualiesiert werden kann) erstelle ich als erstes eine lokale Kopie.


    Dann starte ich die Datei als Embedded, was auch schon funktioniert. Dann möchte ich das auf dem Button unten in der Mitte die Excel-Datei aktualiesiert wird. Hier mein bisheriges Werk(ja teilweise auch zusammenkopiert)


    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    ;~ Local $sSource = 'xxxx'; life Serverpath
    Local $sSource = 'D:\Test\Test.xlsm'; test Lokal
    Local $sWorkDir = 'D:\Temp'
    $sWorkFile = _FileCopyToLocal($sSource, $sWorkDir); erstellen einer lokalen Kopie
    Local $Obj1 = ObjGet($sWorkFile)
    If Not IsObj($Obj1) Then Exit MsgBox(0, 'Abbruchfehler', 'Excel-Objekt konnte nicht erstellt werden.')
    GUICreate('Embedded Excel', @DesktopWidth / 1, @DesktopHeight / 1.1, -1, -1, $WS_MINIMIZEBOX + $WS_MAXIMIZEBOX + $WS_SYSMENU + $WS_CLIPCHILDREN)
    $GUI_ObjExcel = GUICtrlCreateObj($Obj1, 0, 52, @DesktopWidth - 5, @DesktopHeight - 175); die 52 steht für die Höhe der Ribbonbar
    Local $btnRefresh = GUICtrlCreateButton('Neu laden', @DesktopWidth / 2 - 75, @DesktopHeight / 1.1725, 150)
    ; Alle Befehlsschaltflächen deaktivieren:
    ;~ For $Bar In $Obj1.CommandBars
    ;~ If $Bar.Enabled = True Then $Bar.Enabled = False
    ;~ If $Bar.Visible = True Then $Bar.Visible = False
    ;~ Next
    $Obj1.Application.DisplayFormulaBar = False
    $Obj1.Application.CommandBars("Shadow Settings").Visible = False
    $Obj1.Application.DisplayScrollBars = True
    $Obj1.Application.DisplayStatusBar = False
    ;~ GUISetState(@SW_SHOW)
    GUISetState(@SW_MAXIMIZE)
    While 1
    Switch GUIGetMsg()
    Case $btnRefresh
    ;~ MsgBox(0,'','Jetzt wird das ExelWorkbook neu geladen', 2); nur zur info
    $Obj1.Close; Exceldokument schließen
    $work = _FileCopyToLocal($sSource, 'D:\Temp'); aktuelles File vom Server ziehen
    $Obj1 = ObjGet($work); Objekt referenzieren
    If Not IsObj($Obj1) Then Exit MsgBox(0, 'Fehler', 'Excel-Objekt konnte nicht erstellt werden.')
    GUISetState(@SW_SHOW)
    Case $GUI_EVENT_CLOSE
    $Obj1.Close
    Exit
    EndSwitch
    GUIDelete()
    WEnd
    ;~ #ce
    Func _FileCopyToLocal($strFileFullPath, $strDirDestination)
    Dim $arrString, $strFile
    If FileExists($strFileFullPath) Then
    $arrString = StringSplit($strFileFullPath, '\')
    $strFile = $arrString[$arrString[0]]
    If FileCopy($strFileFullPath, $strDirDestination & '\' & $strFile, 9) = 0 Then
    SetError(0, 1)
    Else
    Return $strDirDestination & '\' & $strFile
    EndIf
    EndIf
    EndFunc;==>_FileCopyToLocal


    So jetzt zu meinen Problemen:


    - das aktualiesieren funzt noch garnicht


    - was noch schlimmer ist, das Objekt scheint nicht richtig geschlossen zu werden. Beim ersten Start geht es noch, danach benötigt es ewig zum Starten, und beim runterfahren des Rechners bekomme ich hinweismaldungen das es noch geöffnette Excel-Dateien gibt.


    Ich gebe bald auf.