wuff100 Das ist genau das was ich gesucht habe. Vielen Dank !
Beiträge von bordermax
-
-
Vielen Dank, schaue ich mir gleich mal an…
-
Hallo,
hat jemand eine Idee wie ich es hinbekomme mit AutoIT ein Formularfeld in einem PDF Dokument zu befüllen ?
Ich habe schon öfters das Tools pdftk.exe in meinen AutoIT Scripten benutzt um Formularfelder auszulesen.
Jetzt möchte ich aber einen Wert in ein Formularfeld schreiben...
Markus
-
Ich mache es über die Konsole mit dem Konsolenprogramm pdftk-Server. Damit kannst du dir das gesamte Formular auslesen.
Schaut dann, wenn man es als Textdatei ausgeben lässt, so aus:
Anderer Weg würde über Adobe PDF Reader gehen und sich das ganze zB als *.xfdf speichern zu lassen, geht auch mit anderen PDF Readern zB mit dem Foxit Reader. Diese *.XFDF datei würde dann so ausschauen:
Genau das was ich gesucht habe. Vielen Dank !
-
Hallo,
ich benötige eine Möglichkeit um bei einem PDF-Formular auszulesen ob eine Checkbox angehakt ist oder nicht. Hat da jemand eine Idee für mich ?
Grüße
Markus
-
Hi, ShellExecute habe ich auch schon versucht. Beim normalen Aufruf wird das Dokument im Adobe Reader DC geöffnet. Setzte ich aber den Parameter "Print" wir dauch hier der Adobe Acrobat 2020 genutzt was zu den beschriebenen Problemen führt...
-
Hallo,
ich habe ein Script mit dem ich mit der _FilePrint Funktion in einer Schleife PDF-Dateien zum Standarddrucker schicke. Als PDF Programm war bisher auf den Rechnern Acrobat Reader DC installiert. Hat bisher auch super funktioniert. Auf die Rechner ist jetzt zusätzlich noch Adobe Acrobat 2020 installiert worden um PDF's zu bearbeiten. Als Standard Anwendung für PDF's habe ich Acrobat Reader DC eingetragen. Die Funktion _FilePrint schickt aber die PDF's zum Ausdrucken immer über den Adobe Acrobat 2020 und dieser macht in meinem Script Probleme sobald mehr als 2 PDF's gedruckt werden. Es werden einfach nichtmehr als 2 gedruckt. Warum ? Kein Ahnung...
Hat vielleicht jemand eine Idee wie ich der Funktion _FilePrint sagen kann dass sie zum Ausdrucken wie vorher auch den Adobe Reader DC nutzen soll ?
Gruß
Markus
-
Hallo gmmg,
hab's getestet...
Funktioniert super, vielen Dank !
-
Vielen Dank für die Hilfe.
Ich werde morgen Deine Variante mal ausprobieren und berichten.
Vielleicht hat aber doch jemand noch eine Idee wie ich mein Script zum laufen bekomme...
-
Hallo gmmg,
beim ersten Schleifendurchlauf bekomme ich ein Ergebnis aber dann kommt:
"TestScript.au3" (21) : ==> The requested action with this object has failed.:
$aQueryIDsArray = $oQueryIDs.GetRows
$aQueryIDsArray = $oQueryIDs^ ERROR
-
Hallo,
folgendes Problem...
Ich frage eine Tabelle einer MySQL-Datenbank ab und erhalte ein Eregbnis in einem Array. Dieses Array möchte ich jetzt in einer For-Schleife abarbeiten mit wiederrum einer Abfrage in einer anderen Tabelle der gleichen MYSQL-Datenbank. Das Problem ist die Abfrage in der For-Schleife. Ich denke es liegt daran daß ich in die Variable '$oQuery1' bei jedem Schleifendurchlauf wieder versuche ein Objekt zu erzeugen. Aber wie mache ich das anders ? Hier mal mein Script:
Code
Alles anzeigen;*** Variablen für Datenbankanbindung $sDBServer = "localhost" $sDatabase = "test_mdb" $fDBAuthMode = 1 $sDBUserName = "test_user" $sDBPassword = "test" $sDriver = "{MySQL ODBC 5.1 Driver}" $sDrTable = "t_tabelle1" $sDrTable1 = "t_tabelle2" ;*** $oConn = ObjCreate("ADODB.Connection") $oConn.Open ("DRIVER=" & $sDriver & ";SERVER=" & $sDBServer & ";DATABASE=" & $sDatabase & ";UID=" & $sDBUsername & ";PWD=" & $sDBPassword & ";") $oQuery = $oConn.Execute("SELECT Teilnehmer_Nr from " & $sDrTable & " where Beschreibung = '225' and Ergebnis = '6' and Datum > '2017-12-31'") $aQuery = $oQuery.GetRows _ArrayDisplay($aQuery) $sErg1 = UBound($aQuery) Msgbox (0,"Ergebnis",$sErg1) For $i = 0 To UBound($aQuery) -1 $oQuery1 = $oConn.Execute ("SELECT AndereNummer from " & $sDrTable1 & " where Teilnehmer_Nr = '" & $aQuery[$i][0] & "'") $aQuery1 = $oQuery1.GetRows $aQueryErg[$i] = $aQuery1[$i][0] Next $oConn.Close Exit
-
Hallo,
hat jemand eine Idee wie ich herausfinde welcher User eine bestimmte Datei eines Netzlaufwerkes gerade im Zugriff hat ?
Das Abfragen ob die Datei im Zugriff ist ist ja kein Problem. Aber ich bräuchte noch den dazugehörigen User ?
Gruß
Markus
-
Hallo Oscar, Hallo Alpines,
die Kombination aus $LVS_NOCOLUMNHEADER und _GUICtrlListView_SetColumnWidth ist genau das was ich brauch.
Vielen Dank !
-
Hallo ,
kann mir jemand sagen wie ich die ListView dazu bekomme mir eine vertikale Scrollbar einzublenden wenn der Platz im fenster nicht mehr reicht.
Hier mein Beispiel Script:
C
Alles anzeigen#include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <GuiListView.au3> $hGUI = GUICreate("listview items", 220, 250, 100, 250, -1, $WS_EX_ACCEPTFILES) $idListview = GUICtrlCreateListView("", 10, 10, 160, 150, $LVS_SMALLICON) GUICtrlCreateListViewItem ("2222222222 1234567890", $idListview) GUICtrlCreateListViewItem ("2222222222 1234567890", $idListview) GUICtrlCreateListViewItem ("2222222222 1234567890", $idListview) GUICtrlCreateListViewItem ("2222222222 1234567890", $idListview) GUICtrlCreateListViewItem ("2222222222 1234567890", $idListview) GUICtrlCreateListViewItem ("2222222222 1234567890", $idListview) GUICtrlCreateListViewItem ("2222222222 1234567890", $idListview) GUICtrlCreateListViewItem ("2222222222 1234567890", $idListview) GUICtrlCreateListViewItem ("2222222222 1234567890", $idListview) GUISetState(@SW_SHOW,$hGUI) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit EndSwitch WEnd
Gruß
Markus
-
OK, Danke für die schnelle Antwort !
Da muß ich mein Script wohl umbauen...
-
Hallo,
ich habe das Forum schon durchsucht aber nix wirklich passendes gefunden.
Ich möchte gerne in einer Listbox beim Einlesen der Elemente für bestimmte Elemente die Farbe ändern.
Für ein ListView Control scheint es ja zu funktionieren. Da mein Script aber schon fertig ist und jetzt nur nachträglich geändert werden soll würde ich gerne bei
der Listbox bleiben. Hat jemand eine Lösung für mich ?
Gruß
Markus
-
Hallo Forum,
gibt es bei der Listbox eine Möglichkeit bestimmte Items auf nicht auswählbar zu setzen bzw. Ihre Ansicht "auszugrauen" ?
Gruß
Markus
-
Woow ! Ich weiß gar nicht was ich sagen soll... Wie macht man das so schnell ??
Vielen Dank, Du hast mir sehr geholfen. Vielleicht ist das ja für den ein oder anderen auch interessant..
Gruß
Markus
-
Hallo Forum,
folgendes Problem...
ich habe ein AutoIT Script geschrieben bei dem ich unter anderem eine Auto-IT Funktion benötige mit der ich einen Code String für einen Barcode erzeugen kann.
Also nicht den fertigen Barcode sondern nur den Code String. Der Code String wird dann später in einem Word Serienbrief eingesetzt und dort über die Schriftart Code128.ttf der eigentliche Strichcode erzeugt. Auf der Seite "https://grandzebu.net/informatique/codbar-en/code128.htm" gibt es ein VBA Script daß genau die Funktion beschreibt die ich benötige. Ich kenne mich aber mit VBA überhaupt nicht aus und bin auch nicht ein wirklich guter Programmierer. Könnte mir vielleicht jemand dabei helfen die Funktion nach AutoIT umzuschreiben ? Vielleicht wäre es ja auch für andere Auto-ITler ganz hilfreich...
Hier mal das VBA Script:
Code
Alles anzeigenPublic Function Code128$(chaine$) 'V 2.0.0 'Parametres : une chaine 'Parameters : a string 'Retour : * une chaine qui, affichee avec la police CODE128.TTF, donne le code barre ' * une chaine vide si parametre fourni incorrect 'Return : * a string which give the bar code when it is dispayed with CODE128.TTF font ' * an empty string if the supplied parameter is no good Dim i%, checksum&, mini%, dummy%, tableB As Boolean Code128$ = "" If Len(chaine$) > 0 Then 'Verifier si caracteres valides 'Check for valid characters For i% = 1 To Len(chaine$) Select Case Asc(Mid$(chaine$, i%, 1)) Case 32 To 126, 203 Case Else i% = 0 Exit For End Select Next 'Calculer la chaine de code en optimisant l'usage des tables B et C 'Calculation of the code string with optimized use of tables B and C Code128$ = "" tableB = True If i% > 0 Then i% = 1 'i% devient l'index sur la chaine / i% become the string index Do While i% <= Len(chaine$) If tableB Then 'Voir si interessant de passer en table C / See if interesting to switch to table C 'Oui pour 4 chiffres au debut ou a la fin, sinon pour 6 chiffres / yes for 4 digits at start or end, else if 6 digits mini% = IIf(i% = 1 Or i% + 3 = Len(chaine$), 4, 6) GoSub testnum If mini% < 0 Then 'Choix table C / Choice of table C If i% = 1 Then 'Debuter sur table C / Starting with table C Code128$ = Chr$(210) Else 'Commuter sur table C / Switch to table C Code128$ = Code128$ & Chr$(204) End If tableB = False Else If i% = 1 Then Code128$ = Chr$(209) 'Debuter sur table B / Starting with table B End If End If If Not tableB Then 'On est sur la table C, essayer de traiter 2 chiffres / We are on table C, try to process 2 digits mini% = 2 GoSub testnum If mini% < 0 Then 'OK pour 2 chiffres, les traiter / OK for 2 digits, process it dummy% = Val(Mid$(chaine$, i%, 2)) dummy% = IIf(dummy% < 95, dummy% + 32, dummy% + 105) Code128$ = Code128$ & Chr$(dummy%) i% = i% + 2 Else 'On n'a pas 2 chiffres, repasser en table B / We haven't 2 digits, switch to table B Code128$ = Code128$ & Chr$(205) tableB = True End If End If If tableB Then 'Traiter 1 caractere en table B / Process 1 digit with table B Code128$ = Code128$ & Mid$(chaine$, i%, 1) i% = i% + 1 End If Loop 'Calcul de la cle de controle / Calculation of the checksum For i% = 1 To Len(Code128$) dummy% = Asc(Mid$(Code128$, i%, 1)) dummy% = IIf(dummy% < 127, dummy% - 32, dummy% - 105) If i% = 1 Then checksum& = dummy% checksum& = (checksum& + (i% - 1) * dummy%) Mod 103 Next 'Calcul du code ASCII de la cle / Calculation of the checksum ASCII code checksum& = IIf(checksum& < 95, checksum& + 32, checksum& + 105) 'Ajout de la cle et du STOP / Add the checksum and the STOP Code128$ = Code128$ & Chr$(checksum&) & Chr$(211) End If End If Exit Function testnum: 'si les mini% caracteres a partir de i% sont numeriques, alors mini%=0 'if the mini% characters from i% are numeric, then mini%=0 mini% = mini% - 1 If i% + mini% <= Len(chaine$) Then Do While mini% >= 0 If Asc(Mid$(chaine$, i% + mini%, 1)) < 48 Or Asc(Mid$(chaine$, i% + mini%, 1)) > 57 Then Exit Do mini% = mini% - 1 Loop End If Return End Function
Gruß
Markus
-
Ok, Danke, werde ich mir mal ansehen...