Seltsam. Kannst Du das Skript bitte mal unkompiliert laufen lassen, damit wir sehen bei welchem Statement die Meldung aufpoppt?
Beiträge von water
-
-
Wenn sich die Formatierung ändert, dann liegt das vermutlich daran, dass die Formatierung auf "Standard" steht und der Inhalt nach dem Change nur noch aus Ziffern besteht.
Gib den Replacestring als String an. Also "'3" statt "3" -
Danke für die Infos! Ich werde sie weitermelden, mal sehen, was dabei rauskommt!
-
Vielen Dank für Eure Rückmeldungen!
Wie würdet Ihr das konkret bei meinem Beispiel aus dem ersten Post machen? -
Hallo AutoIt Gurus,
auf dem engl. Forum wurde ich mit der Frage konfrontiert, wie man bei einem DLL Aufruf einen Puffer mit dynamischer Länge angibt. Beispiel in Funktion _ClipBoard_GetFormatName:
[autoit]Local $aResult = DllCall("user32.dll", "int", "GetClipboardFormatNameW", "uint", $iFormat, "wstr", "", "int", 4096)
[/autoit]Ich sehe nur folgende Möglichkeiten
- DIe Länge des Puffers vorab berechnen (wird aber nicht immer möglich sein)
- Angeben, dass die aufgerufene DLL die Pufferlänge selbst bestimmt und einen entsprechend großen Puffer zurückgibt
- Es wird eine fixe Pufferlänge angegeben und die DLL gibt mit einem Returncode an, dass noch mehr Daten vorhanden sind und die DLL nochmals aufgerufen werden muss um weitere Daten zu übergeben
An der Beschreibung seht Ihr schon, dass ich von DLLs etc. nicht viel Ahnung habe.
Gibt's eine Möglichkeit die fixe Pufferlänge zu umgehen?Vielen Dank!
-
Der Trac Eintrag ist vom 13.6., die 3.3.9.5 Beta vom 23.4.
Die Tatsache, dass es noch nicht rausgeflogen ist, sagt Dir also ... -
-
Ich bin daran, die mit AutoIt ausgelieferte Excel UDF anzupassen/zu erweitern. In den Foren gibt es viele Fragen zu Excel und manchmal sogar etwas Code.
In diesem Thread auf dem engl. Forum möchte ich die Punkte diskutieren.
Ich habe ein paar Ideen für die gevoted werden kann, nehme aber auch neue Vorschläge auf. Realisiert wird dann, was die meisten Punkte hat.2012-10-28:
Die zweite Alpha Version der Excel UDF ist nun verfügbar. Diese Alpha ist ein komplettes Rewrite d.h. sie läuft garantiert nicht mit bestehenden Skripten.
Diese Alpha Version soll zeigen, wie die Skript Breaking Changes aussehen aber auch, welche neuen Möglichkeiten die neu geschriebene UDF bietet.
Es ist noch sehr viel Platz für Diskussionen bevor die UDF in AutoIt übernommen wird.2012-11-03:
Die dritte Alpha Version der Excel UDF ist nun verfügbar.
Ein paar neue Funktionen sind hinzugekommen.
Es ist noch sehr viel Platz für Diskussionen bevor die UDF in AutoIt übernommen wird.2013-05-11:
Die vierte Alpha ist nun verfügbar.2013-05-29:
Die fünfte Alpha ist nun verfügbar.2013-06-24:
Die sechste Alpha ist nun verfügbar.2013-07-26:
Die siebte Alpha ist nun verfügbar.2013-08-04:
Die achte - und letzte - Alpha ist nun verfügbar.2013-08-15:
Die erste Beta ist nun verfügbar.2013-09-21:
Die zweite Beta ist nun verfügbar.2013-10-31:
Die dritte Beta ist nun verfügbar.2014-01-06:
Die vierte Beta ist nun verfügbar.2014-03-22:
Die fünfte Beta ist nun verfügbar.
Kommentare sind willkommen!Link zur neuen Version.
-
-
Funktioniert prächtig bei mir. Enthält der Text nach [Subject] eventuell Anführungszeichen?
-
Die Anführungsstriche für das Datum fehlen. Muss so heissen:
$oSuche = _OL_ItemFind ($oOL,"*\Kalender",$olAppointment,"[Start]>'"& _NowCalcDate() & "' AND [Subject]='gesuchter Betreff'", "", "" ,"","",5)
-
Lad Dir mal die erweiterte Word UDF hier herunter. Dann sollte folgendes Skript Dir einen bestimmten Text im Dokument suchen und die Farbe dazu ausgeben.
[autoit]#AutoIt3Wrapper_AU3Check_Parameters= -d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6
[/autoit][autoit][/autoit][autoit]
#AutoIt3Wrapper_AU3Check_Stop_OnWarning=Y#include <WordEX.au3>
[/autoit][autoit][/autoit][autoit]; Create application object
[/autoit][autoit][/autoit][autoit]
Global $oAppl = _Word_Create()
If @error <> 0 Then Exit MsgBox(16, "Word UDF: _Word_DocFind Example", "Error creating a new Word application object." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
; Open test document readonly
Global $oDoc = _Word_DocOpen($oAppl, "Test.doc", Default, Default, True)
If @error <> 0 Then Exit MsgBox(16, "Word UDF: _Word_DocFind Example", "Error opening 'Test.doc'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)Example1($oDoc)
[/autoit][autoit][/autoit][autoit]Exit
[/autoit][autoit][/autoit][autoit]; *****************************************************************************
[/autoit][autoit][/autoit][autoit]
; Example 1
; Find the last text "test document" in the document and mark it bold.
; *****************************************************************************
Func Example1($oDoc)Local $oRangeFound
[/autoit][autoit][/autoit][autoit]
#forceref $oRangeFound
$oRangeFound = _Word_DocFind($oDoc, "google", 0, Default, False)
If @error <> 0 Then Return MsgBox(16, "Word UDF: _Word_DocFind Example 1", "Error locating the specified text in the document." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
ConsoleWrite("Color: " & $oRangeFound.Font.Color & @CRLF & "ColorIndex: " & $oRangeFound.Font.ColorIndex & @CRLF)EndFunc ;==>Example1
[/autoit] -
Was brauchst Du genau? Musst Du die Textteile des Dokumentes extrahieren die rot sind oder musst Du nur wissen ob überhaupt etwas rot ist?
-
Sollte alles möglich sein.
-
Oder vielleicht per WMI.
Schau Dir mal das Skript auf dieser Site an. -
Version 0.8.0.0 (Experimentell) des UDF ist freigegeben.
Bitte ausgiebig testen vor Übernahme in die Produktion!
Für download siehe bitte den Link in meiner Signatur.
-
Experimentelle Version 1.2.2.0 ist freigegeben.
Nur für Tests!
Benötigt AutoIt 3.3.9.2 beta wegen der Änderungen in der Handhabung von COM Fehlern!Für download siehe bitte den Link in meiner Signatur.
-
Wenn Du Dich mit einem PC z.B. bei MyDomain.test anmeldest, welchen Wert hat dann @LogonDomain?
-
Der Fehlerwert -1073741819 (dezimal) steht für 0xc0000005 (Hex) und bedeutet: Access Violation.
Ein COM error handler würde sicher etwas Licht ins Dunkel bringen. -
Version 1.2 der WordEX UDF mit neuen Funktionen freigegeben.
Funktion _Word_DocFind hinzugefügt. Erlaubt das Dokunment oder Ranges zu durchsuchen bzw. den Suchvorgang zu wiederholen und die Treffer zu bearbeiten.