Beiträge von Moombas

    Am besten Code immer Code Tag einbauen und formatieren, das ist so kaum lesbar.

    Auch deine Umschreibung finde ich etwas wirr.

    Kannst du daraus eine Bedingung schreiben? Also z.B.: mit if then else

    Dann kann man das leichter in eine Case Anweisung umwandeln.

    Aktuell würde ich es so verstehen:


    MojoeB Wegen der Namen war gemeint das ein START() reichen würde anstatt ________START_________() Weil das die Aufrufe nur verkompliziert und unnötig lang macht. Füge in solchen Fällen lieber eine Kommentarzeile darüber ein.

    Generell solltest du deinen Programmierstil etwas überdenken. innerhalb einer Func() deklariert man keine globalen Variablen, nur Lokale! Nu ein Beispiel.

    Ist der Vortragende nicht normalerweise/Idealerweise der Präsenter?

    Wäre es nicht einfacher wie folgt vorzugehen:

    1. Der Päsentierende Teilt das Präsentationsprogramm (nicht den ganzen Bildschirm, nur das jeweilige Fenster).
    2. Der Präsenter hat eine Uhr im "Stay on top" laufen (das könntest du selber mit autoit programmieren) wo er die Zeit sieht und was über der Präsentation angezeigt wird (die anderen können diese dann nicht sehen, was das ganze etwas professioneller macht)

    Dann braucht es keinen der über OBS kompliziert über eine "virtuelle Webcam" die Uhr für alle teilt.

    Hi Musashi,


    das habe ich persönlich noch nie getestet, da ich bei mir immer nur 1 Instanz laufen habe und nur für das Sortieren der Fenster bei Arbeitsplatzwechsel (Büro <-> Laptop <-> Zuhause) nutze.

    Aber theoretisch müsste das, wenn man das Exitloop raus nimmt auch bei mehreren Instanzen funktionieren (würde dann alle beenden).

    Ist auch nur einkleiner Ausschnitt. Das ganze sieht bei mir im Original so aus, da noch ein wenig mehr Funktionen aufgerufen werden:



    Für Mehrere Instanzen müsste das dann wohl ungefähr so aussehen:


    Hallo 32vroni , ich mache es bei mir so:

    Grund: Die einzelnen Einträge sind die Tabs, du musst aber das Hauptfenster schließen.

    Das kann man daran erkennen, das es z.B. einen Fenstertitel hat.

    Wie gesagt dort sollte man die oben genannte Ausgabe dann mal prüfen.

    Das kann sowohl ein Ini Problem sein (falsche/nicht vorhandene Werte) als auch ein Rechte Problem (kein Zugriff auf die Ini/ ini nicht vorhanden).


    Und wenn du die "default" ini neu schreibst, musst du ja wissen was dort stehen müsste.

    Und auf den PC's wo es Probleme gibt kannst du es dann easy nachprüfen.

    Naja oh-ha , Kann er die ini denn korrekt auslesen (als default gibst du ja '' an, falls er nichts auslesen kann, was zu deinem Problem führen könnte)?

    Vergleich mal die beiden Ausgaben von deinem $sCurrentUser ggf. ist dort ein Unterschied drin, der deinen Fehler hoch kommen lässt.

    Also mal so testen z.B.:

    Code
    $sCurrentUser1 = IniRead($programmini, "Mail", "user", "")
    $sCurrentUser2 = $oOutlook.GetNameSpace("MAPI").CurrentUser.Name
    MsgBox(1,'','Ini: ' & $sCurrentUser1 & '   Object: ' & $sCurrentUser2)

    Wenn bei deiner ini gar nichts zurück kommt. Prüfe ob deine ini da liegt, wo $programmini es angibt und ob dort die Sektion Mail und der Key user überhaupt existiert.

    Wenn bei beidem was ausgelesen wird aber Unterschiede bestehen, prüfe ob der Wert in der ini dem entspricht was du haben willst/musst.

    Jetzt klappt es auch mit der Datei.
    Lass aber die Finger vom 4. Worksheet oder bearbeite es vorher - das funktioniert zwar, dauert aber ewig.
    Grund: Alleine dieses Worksheet ist 82 mb groß obwohl im Grunde gar nichts drin steht.

    Ab der 25. Zeile kommt inhaltlich nichts mehr aber die Zellen sind trotzdem in der Datei definiert.
    Wenn man alle Zeilen ab der 26. ordentlich löscht dann ist die ganze Datei auf einmal nur noch 700kb groß.
    Ähnlich ist es beim 2. Sheet mit den vielen überflüssigen Nullen.

    Ein klassisches "Excel-Nutzer"-Problem, wenn Sachen ohne Sinn und Verstand hin und her kopiert wurden...

    Was gibt dir denn _Excel_BookClose($oWorkbook, False) als Wert zurück?

    Ist @error wirklich direkt nach dem obigen Befehl 0?

    Also z.B.:

    AutoIt
    $ReturnCode = _Excel_BookClose($oWorkbook, False) 
    $error = @error
    MsgBox(1, 'ReturnCodes', 'ReturnCode: ' & $ReturnCode & '   Error: ' & $error) ; Bei Erfolg Ausgabe: ReturnCode: 1    Error: 0


    Was passiert wenn du es nicht als "readonly" öffnest, gleiches Problem?