probiere es dochmal am ende der installation mit "Send"
[autoit]
Send("{TAB}")
Send("{ENTER}")
gruß gmmg ![]()
probiere es dochmal am ende der installation mit "Send"
[autoit]
Send("{TAB}")
Send("{ENTER}")
gruß gmmg ![]()
na das klingt doch mal gut ![]()
gruß gmmg
hallo,
habe noch folgenden code für dich!
diesen an den anfang vom script setzen ....damit sollte das ganze script als anderer user starten, wenn deiser keine admin rechte hat
If Not IsAdmin() Then
; AB Version 3.2.12.0
RunAs("admin", @LogonDomain, "adminpwd", 0, @ScriptFullPath, @ScriptDir, @SW_HIDE)
Exit
EndIf
If IsAdmin() Then
;MsgBox(0, "", "Admin-Rechte erkannt.",1)
EndIf
gruß gmmg
stimmt denn der Pfad zu deinem Bild?
im quelltext hast du nur den bildnamen angegeben!
gruß gmmg
sieht so aus, als ob diese nicht mehr supportet wird!
habe dir mal eine UDF angehangen! das müsste die von hier sein http://www.autoitscript.com/forum/topic/140277-ms-access-udf/
hier nochmal ein link zum öffnen einer Access2010 DB
http://www.autoitscript.com/forum/topic/14…ows7-64-bit-pc/
gruß gmmg
hier vorab schonmal was zum auslesen ...
;===========================================
; db test
;===========================================
$dbname = "\\server\db_test.mdb"
$tblname_1 = "test01" ;Tabelle 1
$tblname_2 = "test02" ;Tabelle 2
;===========================================
; table test01
;===========================================
$fldname_tbl1_1 = "User"
$format = "Text(50)"
$fldname_tbl1_2 = "PC" ;pc anmeldename
$format = "Text(50)"
;===========================================
; table test02
;===========================================
$fldname_tbl2_1 = "Terminal"
$format = "Text(50)"
$fldname_tbl2_2 = "PCNAME" ; pc name
$format = "Text(50)"
;===========================================
$query1 = "SELECT * FROM " & $tblname_1 & " WHERE PC = " & "'" & $user & "'"
$query2 = "SELECT * FROM " & $tblname_2 & " WHERE PCNAME = " & "'" & $computer & "'"
$strData1 = _ReadOneFld($query1, $dbname, $fldname_tbl1_1)
$strData2 = _ReadOneFld($query2, $dbname, $fldname_tbl2_1)
$strData1 = StringStripWS($strData1, ![]()
$strData2 = StringStripWS($strData2, ![]()
Msgbox(0,"", $strData1 & $strData2)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit];------access DB auslesen -------------
Func _ReadOneFld($_sql, $_dbname, $_field)
Dim $_output
$adoCon = ObjCreate("ADODB.Connection")
$adoCon.Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & $_dbname)
$adoRs = ObjCreate("ADODB.Recordset")
$adoRs.CursorType = 1
$adoRs.LockType = 3
$adoRs.Open($_sql, $adoCon)
With $adoRs
If .RecordCount Then
While Not .EOF
$_output = $_output & .Fields($_field).Value & @CRLF
.MoveNext
WEnd
EndIf
EndWith
$adoCon.Close
Return $_output
EndFunc ;==>_ReadOneFld
hier gibt es noch den post, wenn es um access 2007 /2010 und x64 geht
[ gelöst ] Verbindung zu Access 2010 DB nicht möglich
gruß gmmg ![]()
ich hab das mal mit nem vbs script aus dem netz und pdf creator umgesetzt!
Befehl : cmd öffnen -> d:\PrintWkbk.vbs d:\testexcel.xls
PrintWkbk.vbs
[autoit]
Const xlDoNotSaveChanges = 2
Dim fso, oXL, oWkbk
[/autoit][autoit][/autoit][autoit]Set fso = CreateObject("Scripting.FileSystemObject")
Set oXL = CreateObject("Excel.Application")
oXL.Visible = False
[/autoit][autoit][/autoit][autoit]If WScript.Arguments.Count = 0 Then
WScript.Quit
Else
For A = 0 To (WScript.Arguments.Count - 1)
If (Right(WScript.Arguments.Item(A), 3) = "xls") _
AND fso.FileExists(WScript.Arguments.Item(A)) Then
Set oWkbk = oXL.Workbooks.Open(WScript.Arguments.Item(A))
oWkbk.PrintOut
oWkbk.Close xlDoNotSaveChanges
End If
Next
End If
oXL.Quit
Set fso = Nothing
Set oXL = Nothing
eventuell hilft es weiter oder es kann einer in autoit umsetzen, wenn es nicht schon gemacht wurde ![]()
gruß gmmg
water eventuell solltest du den ersten post noch ändern ![]()
aktuell steht da noch die überschrift : Active Directory Funktionen - Neue Version 1.4.0.0 freigegeben!
gruß gmmg ![]()
du kannst aber auch die Info, was der Button macht, über GUICtrlSetTip als Mausinfo anzeigen lassen!
Beispiel:
[autoit]
$Button1 = GUICtrlCreateButton("Programm starten", 420, 612, 70, 22)
GUICtrlSetTip($Button1, "startet das Programm xyz")
Gruß gmmg ![]()
ihr habt wohl keinen printserver, auf dem du das einrichten kannst ?
bei lokalen druckern wird das natürlich schwierig!
eventuell mal schauen, wo der drucker seine einstellungen speichert, wenn das in der registry passiert, brauchst ja nur da die parameter zu ändern!
gruß gmmg
versuchs mal mit _StringBetween ... du möchtest ja einen teilstring innerhalb eines Stringes haben ...
[autoit]$sString = "ClearCase version 8.0.1.01 (Fri Sep 20 16:09:14 EDT 2013) (8.0.1.01.00_2013C.FCS)" & @CRLF & _
"@(#) MVFS version 8.0.1.2 (Mon Nov 18 14:43:23 2013)" & @CRLF & _
"VOB database schema versions: 54, 80"
;$aRegexp = StringRegExpReplace($sString, "(?s)MVFS version\s+(\S)", '$1')
[/autoit][autoit][/autoit][autoit]; Returns the string between the start search string and the end search string.
Local $aArray1 = _StringBetween($sString, 'MVFS version ', ' (')
_ArrayDisplay($aArray1, 'Default Search')
gruß gmmg ![]()
also bei mir funktioniert das!
#include <Array.au3>;just for display the arrays
_Test()
[/autoit] [autoit][/autoit] [autoit]Func _Test()
Local $sFile = @ScriptDir & "\Test.pdf"
Local $aOldData = _PDF_GetProperties($sFile)
_ArrayDisplay($aOldData)
Local $aNewData[6][2] = [["Title", "New Title"],["Producer", "New Producer"],["Author", "New Author"],["Creator", "New Creator"],["Subject", "New Subject"],["Keywords", "New keywords"]]
[/autoit] [autoit][/autoit] [autoit]Local $sNewFile = _PDF_SetProperties($sFile, $aOldData, $aNewData)
Local $aCheck = _PDF_GetProperties($sNewFile)
_ArrayDisplay($aCheck)
EndFunc ;==>_Test
Func _PDF_GetProperties($sFile)
Local $a_Prop[6][2] = [["Title", ""],["Producer", ""],["Author", ""],["Creator", ""],["Subject", ""],["Keywords", ""]]
Local $hFile = FileOpen($sFile)
Local $sTxt = FileRead($hFile)
FileClose($hFile)
Local $title = StringRegExp($sTxt, "(?i)(/Title) {0,1}\((.*?)\)", 1)
If @error = 1 Then
$a_Prop[0][1] = "no match"
Else
$a_Prop[0][1] = $title[1]
EndIf
Local $producer = StringRegExp($sTxt, "(?i)(/Producer) {0,1}\((.*?)\)", 1)
If @error = 1 Then
$a_Prop[1][1] = "no match"
Else
$a_Prop[1][1] = $producer[1]
EndIf
Local $author = StringRegExp($sTxt, "(?i)(/Author) {0,1}\((.*?)\)", 1)
If @error = 1 Then
$a_Prop[2][1] = "no match"
Else
$a_Prop[2][1] = $author[1]
EndIf
Local $creator = StringRegExp($sTxt, "(?i)(/Creator) {0,1}\((.*?)\)", 1)
If @error = 1 Then
$a_Prop[3][1] = "no match"
Else
$a_Prop[3][1] = $creator[1]
EndIf
Local $subject = StringRegExp($sTxt, "(?i)(/Subject) {0,1}\((.*?)\)", 1)
If @error = 1 Then
$a_Prop[4][1] = "no match"
Else
$a_Prop[4][1] = $subject[1]
EndIf
Local $keywords = StringRegExp($sTxt, "(?i)(/Keywords) {0,1}\((.*?)\)", 1)
If @error = 1 Then
$a_Prop[5][1] = "no match"
Else
$a_Prop[5][1] = $keywords[1]
EndIf
Return $a_Prop
EndFunc ;==>_PDF_GetProperties
Func _PDF_SetProperties($sFile, $aOld, $aNew)
Local $hFile = FileOpen($sFile)
Local $sTxt = FileRead($hFile)
FileClose($hFile)
For $i = 0 To UBound($aOld) - 1
If $aOld[$i][1] <> "no match" Or $aOld[$i][1] <> "" Then
$sTxt = StringRegExpReplace($sTxt, "(?i)(/" & $aOld[$i][0] & ") {0,1}\((.*?)\)", "/" & $aOld[$i][0] & " (" & $aNew[$i][1] &") ", 1)
EndIf
Next
Local $sFileName = StringRegExpReplace($sFile, ".*\\(.*).{4}", "$1")
Local $sNewFile = StringReplace($sFile, $sFileName, $sFileName & "_mod.pdf")
Local $hNew = FileOpen($sNewFile, 18)
FileWrite($hNew, $sTxt)
FileClose($hNew)
Return $sNewFile
EndFunc ;==>_PDF_SetProperties
die generierte pdf heißt dann in meinem test "Test_mod.pdf.pdf"
hab die test pdf mal angehangen ...
gruß gmmg
ok ...
das sollte doch kein problem sein, wenn du weißt, welche datei welches druckformat bekommen soll!
ich würde das in etwa so machen!
dateien in ein array einlesen und automatisch an die pdfinfo.exe als parameter übergeben! kann die pdfinfo das?
hab es eben mit pdftk.exe gemacht, da kann man einen dumperstellen ...
"C:\Program Files (x86)\PDFtk\bin\pdftk.exe" C:\test.pdf dump_data >d:\dump.txt
hier die seitengröße auslesen und auswerten ...
wenn du dann die seitengröße weißt, einfach an den entsprechenden drucker senden!
du kannst auch die drucker doppelt anlegen, musst dann nur im druckermenü die eigenschaften anders definieren ...
drucker1 -> standardausgabefach 1
drucker1 -> standardausgabefach 2
drucker1 -> standardausgabefach 1 /Farbe
drucker1 -> standardausgabefach 1 /SW
eventuell hilft das ja ![]()
gruß gmmg
drucker1 -> standardausgabefach 2
hallo MrIcemanF14,
eine suche " AcroRd32.exe /console" bei google brachte mir z.b. folgendes ![]()
Open a PDF file:
AcroRd32.exe PdfFile
Open a PDF file in a new instance of Adobe Reader:
AcroRd32.exe /N PdfFile
Open a PDF file at page 7:
AcroRd32.exe /A "page=7=OpenActions" PdfFile
Open a PDF file with navigation pane active, zoom out to 50%, and search for and highlight the word "batch":
AcroRd32.exe /A "zoom=50&navpanes=1=OpenActions&search=batch" PdfFile
Print a PDF file with dialog:
AcroRd32.exe /P PdfFile
Print a PDF file silently:
AcroRd32.exe /N /T PdfFile PrinterName [ PrinterDriver [ PrinterPort ] ]
The last command will open a new Adobe Reader window, print the PDF file and then terminate its window unless that window happens to be the only Adobe Reader window left: at least one Adobe Reader window will be left open.
[/autoit]daraus kannst du ja dann was mit autoit bauen ...
Beispiele:
[autoit]druckt auf dem Standarddrucker
"C:\Program Files (x86)\Adobe\Reader 11.0\Reader\AcroRd32.exe" /N /T C:\test.pdf"
druckt auf einem lokalen drucker
"C:\Program Files (x86)\Adobe\Reader 11.0\Reader\AcroRd32.exe" /N /T C:\test.pdf "Microsoft XPS Document Writer" ; habe leider nur den Microsoft XPS Document Writer zum testen ...
druckt auf einem Netzwerkdrucker
"C:\Program Files (x86)\Adobe\Reader 11.0\Reader\AcroRd32.exe" /N /T C:\test.pdf \\printservername\druckerfreigabename
woher weißt du denn, welche datei auf welchen drucker gesendet werden sol, wie liest du das format aus ?
gruß gmmg
MrIcemanF14:
was willst du denn mit deinem script als ergebnis erreichen? deshalb auch die frage von Schnuffel
willst du einem anderen user ein eigenes druckmenü geben? mit Strg+P ruft man ja schon das druckmenü auf, wo man sich den drucker aussuchen kann!
eventuell kannst du vorher dann auch den standarddrucker entsprechend setzen
oder möchtest du einen druck komplett automatisieren? das geht dann auch über kommandozeile ...
gruß gmmg
eine integrierte funktion gibt es da meines wissens nicht!
ich hätte versucht das ganze über eines der genannten tools mit autoit zu automatisieren!
vielleicht hat ja jemand noch ne andere lösung ...
gruß gmmg
suche mal nach "Metadaten von PDF ändern" ...
ich weiß, dass man das mit Adobe Acrobat machen kann!
programme die das eventuell auch können sind z.B. BeCyPDFMetaEdit, Hexonic PDF Metadata Editor!
gruß gmmg
@ 0815-scripter:
ich benutze immer das 7zip, weil das windows integrierte zip nicht so wollte ![]()
hier ein link zur 7zip udf (http://www.autoitscript.com/forum/topic/85094-7zip/?hl=7zip)
beispiele gibt es auch einige ...
gruß gmmg
gerne ![]()
eventuell hättest du acuh das "ControlClick" benutzen können! Ist in der Hilfe auch beschrieben!
gruß gmmg
ich hab das damals in autoit auch nicht gefunden und deshalb das vbs benutzt!
hast du mal danach gesucht? im engl. forum gibt es noch beiträge dazu ...
hier mal einer .... http://www.autoitscript.com/forum/topic/10…teger8-to-date/
eventuell das powershell aus autoit aus aufrufen!
gruß gmmg