Bisher hat das ganze Ding für mich keinen wirklichen Sinn ergeben aber kann es sein, das es hier um Arbeitsstunden geht?
Dann wäre es ja auch sinnvoll nur 1 Eintrag je Tag im Ergebnis zu haben (oder brauchst du dann noch die Einzelwerte?).
Beiträge von Moombas
-
-
water : Definitiv beides (diese UDF, als auch der "Einwand" der hilfreichen UDF's) Sinnvoll.
Schon mal überlegt, ob es ggf. Sinnvoll wäre das um 1 Funktion zu erweitern: Optionaler Parameter um eine Spalte (entweder per Name oder Nummer) als "unique Identifier" (ab hier: UID) zu definieren (sollte in der Regel ja die ganz links sein, muss aber nicht).
Über diesen dann z.B. per $mData.UID[$Column] bzw. $mData.UID.Proto oder ähnlich diesen direkt ansprechen zu können. Solche identifier hat man ja insbesondere gerne mal bei Datenbanktabellen.
Oder bin ich mit dem Gedanken gerade alleine?
-
Ich glaube das du da mit Inidrekt schon den Weg gefunden hast und meine mich erinnern zu können das in ähnl. Situationen auch immer mit Indirekt gemacht zu haben, weil es dafür keine direkte Funktion für gab.
Ein Tipp: Du kannst z.B. anstatt Zeile(74) auch Zeile() schreiben, wenn du damit die Zeile meinst, in der die Formel steht

Aber Achtung: Wenn du solche Querverweise zu exzessiv benutzt (betrifft noch mehr Sverweis und Wverweis) braucht Excel irgendwann eine halbe Ewigkeit für die Berechnungen und damit auch Datei öffnen/schließen/Änderungen.
-
Je nachdem was für Änderungen im Skript vorgenommen werden sollen, ist entweder funkey's Lösung der richtige Weg (komplette Teile des Skriptes müssen ausgetauscht werden) oder halt die Ini-Datei (nur Parameter mpssen geändert werden) oder sogar beides.
Bzgl. der Ini-Datei, würde ich sie halt bei jedem Funktionsaufruf einlesen, sofern die Anzahl der dort hinterlegten Parameter überschaubar ist, ansonsten einfach auf das Änderungsdatum prüfen.
Ein Listener macht meiner Meinung nach in diesem Fall nicht viel Sinn bzw. birgt ggf. die Gefahr das eine Funktion nur zum Teil ausgeführt wurde und es dann später zu Konflikten kommt, wenn man nicht sicherstellt, das diese bis zum Ende durchgelaufen ist und somit korrekt abgeschlossen hat. -
Evtl. kannst du mit dem AutoIt Window Info die control s herausfinden und diese damit direkt ansteuern.
Dazu können dir andere gute Kollegen hier ggf. mehr sagen, da ich selber das bisher kaum genutzt habe und ohne das Programm zu kennen (?) oder zu haben ist es schwer das zu testen.Wenn die Position der Dateien innerhalb des Programms immer identisch sind, könnte man ggf.
1. Das entsprechende "Listview" ansteuern und entsprechende Einträge markieren
2. Den Button zum verschieben (ich gehe von einer WinSCP ähnl. Vorgehensweise aus) drücken -
Darf ich erst mal hinterfrsagen, was du genau vor hast?
Ggf. gibt es was besseres als per MouseClick zu arbeiten.
Ich gehe nicht davon aus, das du per Autoit in paint malen willst

-
Also bei mir ist die Control Class anders:
-
Da ich immer noch nicht weiß wie du inetget aufrufst (also welche Parametrer du nutzt oder auch nicht) hier ein Schuss ins Blaue:
$INET_FORCEBYPASS nutzen, weil "By default AutoIt forces a connection before starting a download. For dial-up users this will prompt to go online or dial the modem (depending on how the system is configured). The options value $INET_FORCEBYPASS (16) disables this behavior. Disabling the behavior can be useful for persistent connects (Broadband, LAN). However, it is also required to work around certain issues in Windows Vista and Windows 7."
Optional: $INET_DOWNLOADBACKGROUND nutzen und über schleife per inetgetinfo() auf abschluss warten, da dann auch mehrere downloads gleichzeitig möglich sind, ob das in diesem fall hilft (weil eine Datei wie z.B. zip auch mehrere Dateien beinhaltet und viele kleine Dateien runterladen dauert länger als eine Große mit der gleichen Größe).
-
Hi AlucardXtreme,
und wo und wie solen wir dir dabei jetzt helfen?
Hier ist nichts worauf man aufbauen könnte, dabraucht man durchaus mal ein paar relevante Informationen (z.B. das Skript). -
Richtig XD Ich wusste was er meint und dann mal eben 1:1 den Fehler übernommen

-
Die Frage ist ja, müsstest du die Batch ggf. als Admin starten, damit die UNC garnicht erst reagiert.
-
Eine kleine Info, die die Vermutung unterstreicht: https://de.wikipedia.org/wiki/Dateiname
Auch wenn der Hinweis sich nur auf Unix bezieht, würde mich wundern wenn dies unter Windows anders ist:
"...Die nicht darstellbaren Zeichen werden dann oft als Fragezeichen oder kleine Kästchen angezeigt, was den Zugriff auf die Daten sehr schwierig macht..." -
Müsste dann nicht simples umbenennen funktionieren oder bekommst du dann auch eine Fehlermeldung?
Ansonsten hatte ich den gleichen Gedanken wir AspirinJunkie: Nicht sichtbare Zeichen (ggf. bei Programmgesteuerter Umbenennung?)
-
Dann ändere bei dem Code von Bugfix mal in Zeile 53 die 5 auf die 30
-
Mein Hauptproblem dabei ist, das die Arrays ja auch irgendwie dynamisch gebaut/ zugewiesen werden müssen.
Dann wäre meine Lösung dise hier (aber recht unschön wie ich finde):
AutoIt
Alles anzeigen;~ Opt('MustDeclareVars', 1) #include <Array.au3> Global $a27[0][2], $a28[0][2], $a29[0][2] Global $aArray[5][5] = [[0, "Test1", 27, 1, 0], _ [1, "Test1", 27, 4, 2], _ [2, "Test2", 28, 1, 3], _ [3, "Test3", 29, 1, 0], _ [4, "Test4", 29, 4, 1]] _ArraySort($aArray, Default, Default, Default, 2) ;to ensure right order in 3. column _ArrayDisplay($aArray, "2D Array") For $Row = 0 to UBound($aArray) - 1 Execute('_ArrayAdd($a' & $aArray[$Row][2] & ', $aArray[$Row][3] & "|" & $aArray[$Row][4])') Next _ArrayDisplay($a27) _ArrayDisplay($a28) _ArrayDisplay($a29)Vielleicht da eher die Lösung von AspirinJunkie sich anschauen.
-
Soll in den Arrays einfach nur der Inhalt von der Spalte 2 stehen (Und das in allen 3?) oder das was dahinter steht?
Also entweder:
3* : [27],[27],[28],[29],[29]oder:
27: [1, 0, 4, 2]
28: [1, 3]
29: [1, 0, 4, 1] -
Leider entzieht sich das bzgl. der Version meiner Kenntniss. Wenns dir angeboten wurde, gehe ich auch von der richtigen Version aus. Dennoch merkwürdig und mir gehen dann auch die Ideen aus.
Aber wegen dem Errorcode, schau mal hier: https://www.borncity.com/blog/2018/09/0…ler-0xc000007b/
-
Naja es kann ja schon ein Unterschied zwischen den Versionen sein. 2016 habe ich nie genutzt, bin priv. von 2010 auf 2019 gewechselt und auf der Arbeit haben wir halt O365.
Edit: Laut dem hier: https://www.dummies.com/article/techno…rd-2016-140434/ sieht es aber (vom Verhalten) ähnl. aus

-
Also bei mir (Office 365 und priv. Office 2019 meine ich auch) hat er immer den zuletzt zum Speichern genutzten Ordner aktiv.
Zudem von den Schritten finde ich es nicht so mega umständlich:
- Datei
- Speichern unter
- Auswählen wo man speichern will (wobei bei mir halt wie gesagt der letzte Speicherort default ausgewählt ist, was ich durchaus begrüße "Dieser PC" ist dann ausgewählt)
- Wurde das Dokument in z.B. "C:\ABC\" geöffnet, wird mir dieser Ordner als Default Ordner genommen und ich kann einfach oben den Dateinamen ändern (ggf. auch das Format) und Speichern
-
Es kann sein das deine kopierte Datei eine Datei ist, die zum falschen Bit-System (32/64) gehört.
Das solltest du nochmal prüfen. Auch haben diese dann unterschiedliche Speicherorte.- C:\Windows\SysWOW64\
- C:\Windows\System32\
Aber in der Regel ist eine fehlende dll nur ein Symptom von anderen Problem(en). Daher halte ich nicht viel davon plump die dll Dateien zu kopieren.
Hast du das richtige Visual C++ runter geladen und installiert?