1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. TOMTOM25m

Beiträge von TOMTOM25m

  • VB Script Funktion in AutoIt integrieren

    • TOMTOM25m
    • 4. Januar 2008 um 00:08

    So mein erster Ansatz der leider nicht funktioniert :( :( X(

    Spoiler anzeigen
    [autoit]


    $answer = InputBox("Question", "Passwort ??", "Planet_X2543", "",-1, -1, 0, 0)

    [/autoit] [autoit][/autoit] [autoit]

    $bPassword = _CryptRDPPassword($answer)

    [/autoit] [autoit][/autoit] [autoit]

    MsgBox (0,"",$bPassword)
    Exit

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func _CryptRDPPassword($Password)
    Local $hcrypt32
    Local $arRet
    Local $DataIn = "DATA_BLOB"
    Local $DataOut = "DATA_BLOB"
    Local $bPassword = "string"

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    $hcrypt32 = DllOpen("crypt32.dll")
    If $hcrypt32 = -1 Then Return 0
    ;// RDP uses UniCode
    $arRet = DllCall($hcrypt32, "wstr", "string")
    $arRet.DataIn.pbData = "Pointer(WideString(sPassword))";
    $arRet.DataIn.cbData = "Length(sPassword) * SizeOf(WChar)";
    ;// RDP always sets description to psw
    $arRet.pwDescription = "WideString(‘psw’)";

    [/autoit] [autoit][/autoit] [autoit]

    If $arRet.CryptProtectData($DataIn, $arRet.pwDescription, "nil", "nil", "nil", "CRYPTPROTECT_UI_FORBIDDEN", $DataOut) Then
    $bPassword = $arRet.BlobDataToHexStr($arRet.DataOut.pbData, $arRet.DataOut.cbData)
    EndIf
    $arRet.LocalFree($arRet.Cardinal($arRet.DataOut.pbData));
    $arRet.LocalFree($arRet.Cardinal($arRet.DataIn.pbData));
    Return $bPassword
    DllClose($hcrypt32)

    [/autoit] [autoit][/autoit] [autoit]

    EndFunc ;==>_CryptRDPPassword

    [/autoit]

    das ganze soll ein ein Passwort in einen Hashwert umschlüsseln.
    dieses hashwertPasswort ist Ident mit dem hashwertPasswort das auch ein RDP.file beinhaltet ist.

    evtl kann mir jetzt jemand helfen ... bitte

    danke
    TOMTOM

  • Wörter asozeieren

    • TOMTOM25m
    • 3. Januar 2008 um 14:15

    armes Schwein --> lecker Schnitzel *schmatz*

  • VB Script Funktion in AutoIt integrieren

    • TOMTOM25m
    • 3. Januar 2008 um 13:40

    Hi @ all
    :thumbup:
    wie kann ich diese VB-Function in AutoIt umsetzen?

    leider bin ich in VB noch ein noob

    Spoiler anzeigen

    function CryptRDPPassword(sPassword: string): string;
    var DataIn: DATA_BLOB;
    DataOut: DATA_BLOB;
    pwDescription: PWideChar;
    PwdHash: string;
    begin
    PwdHash := ”;

    DataOut.cbData := 0;
    DataOut.pbData := nil;

    // RDP uses UniCode
    DataIn.pbData := Pointer(WideString(sPassword));
    DataIn.cbData := Length(sPassword) * SizeOf(WChar);

    // RDP always sets description to psw
    pwDescription := WideString(‘psw’);

    if CryptProtectData(@DataIn,
    pwDescription,
    nil,
    nil,
    nil,
    CRYPTPROTECT_UI_FORBIDDEN, // Never show interface
    @DataOut) then
    begin
    PwdHash := BlobDataToHexStr(DataOut.pbData, DataOut.cbData);
    end;
    Result := PwdHash;

    // Cleanup
    LocalFree(Cardinal(DataOut.pbData));
    LocalFree(Cardinal(DataIn.pbData));

    end;

    es wird die crypt32.dll verwendet

    [edit] die Info kommt von http://www.remkoweijnen.nl/blog/2007/10/1…-are-encrypted/ [/edit]

    lg
    und danke für die Hilfe
    TOM 8|

  • Wörter asozeieren

    • TOMTOM25m
    • 3. Januar 2008 um 11:51

    ich am morgen nach silverster --> ohh schädelweh

  • Wörter asozeieren

    • TOMTOM25m
    • 1. Januar 2008 um 19:29

    Droide --> Blechkiste

  • Wörter asozeieren

    • TOMTOM25m
    • 1. Januar 2008 um 13:18

    BugFix --> Kammerjäger

    lg

  • PC einer OU im Active Directory zuordnen und auslesen

    • TOMTOM25m
    • 14. Dezember 2007 um 18:58
    Zitat von progandy

    Ist hier nichts dabei http://www.autoitscript.com/forum/index.php?showtopic=37378 ?

    leider nein :(
    die adfunctions.zip hab ich schon durchforstet und das was ich brauche ist nicht dabei. :(
    danke für den Tip :)

    lg

  • PC einer OU im Active Directory zuordnen und auslesen

    • TOMTOM25m
    • 14. Dezember 2007 um 09:53

    kennt sich wirklich keiner mit dem AD auslesen aus ?( ?(

    na gut ........ jetzt wirds mühsam :(
    werd mich dann mal ins MSDN auf die suche begeben

    wenn ich was finden sollte dann Poste ich es bzw. ich ergänze die UDF die ich habe

    lg
    TOMTOM :huh: :S

  • PC einer OU im Active Directory zuordnen und auslesen

    • TOMTOM25m
    • 12. Dezember 2007 um 13:24
    Zitat von Gun-Food

    Aber wenn die OU Bezeichnung im Logonnamen steht, dann brauchst du doch auch nur diese auszulesen und kannst mit den Stringfunktionen die OU auslesen und damit dann ja auch zuordnen.
    Wenn nicht, dann brauch ich ein Beispiel, wo genau das nicht zutrifft.

    der TS - Username ist dem OU Namen zugeordnet (OU = Filiale --- Pro Filiale gibts einen TS-Logonnamen)
    Mein Problem ist das die Computer unterschiedlich heissen (z.B. ctws04 -- alte konvention , t12342ws03 --- neue konvention) die einzige gemeinsamkeit ist die OU im AD.

    Spoiler anzeigen
    [autoit]

    #Region converted Directives from C:\RDPINI\Firma_RR_JACK.au3.ini
    #AutoIt3Wrapper_icon=C:\Temp\jack_icon.ico
    #AutoIt3Wrapper_outfile=C:\RDPINI\Firma_RR_JACK.exe
    #AutoIt3Wrapper_Compression=3
    #AutoIt3Wrapper_Res_Comment=made by the Hack
    #AutoIt3Wrapper_Res_Description=AutoIt v3 Compiled Script
    #AutoIt3Wrapper_Res_Fileversion=2.0.0.6
    #AutoIt3Wrapper_Res_Fileversion_AutoIncrement=y
    #AutoIt3Wrapper_Res_LegalCopyright=(c) 2006 Garnreiter Thomas
    #AutoIt3Wrapper_Run_AU3Check=1
    #EndRegion converted Directives from C:\RDPINI\Firma_RR_JACK.au3.ini
    ;
    ; ######### Variablen

    [/autoit] [autoit][/autoit] [autoit]

    Global $FA = StringLeft(@ComputerName, 2) ; Kst ; OV Workstation
    Global $WKS = StringRight(@ComputerName, 4) ; RR Kst
    Global $KST = StringLeft(@ComputerName, 6) ; RR Kst
    Global $OEVB = "ts.firma.lan"
    Global $RUEFA = "rrts.firma.lan"
    Global $ITR = "ITRJack.firma.lan"
    Global $RRPW = "*****"
    Global $OVBPW = "******"
    Global $WS = IniRead("\\dc1.firma.lan\JACKINI$\jack.ini", "WS", @ComputerName, "keine Computer Name konfiguriert")
    Global $USR = IniRead("\\dc1.firma.lan\JACKINI$\jack.ini", "WS", @UserName, "kein USERname konfiguriert")
    Global $TSUSER = IniRead("\\dc1.firma.lan\JACKINI$\jack.ini", "Ruefa_Filialen", $KST, "RR Anmeldename nicht konfiguriert")
    Global $OVUSER = IniRead("\\dc1.firma.lan\JACKINI$\jack.ini", "OEVB_Filialen", $KST, "OV Anmeldename nicht konfiguriert")
    Global $SONDER = IniRead("\\dc1.firma.lan\JACKINI$\jack.ini", "SONDER", @ComputerName, "keine WKST konfiguriert")
    Global $SOUSR = IniRead("\\dc1.firma.lan\JACKINI$\jack.ini", "SONDER", @UserName, "kein User konfiguriert")
    ;~ File kopieren
    RunAsSet("Administrator", "OV", "**********")
    DirCreate("C:\temp")
    FileCopy("\\dc1.firma.lan\JACKINI$\RDPFile.exe", "C:\temp", 0)
    FileCopy("\\dc1.firma.lan\JACKINI$\jack_icon.ico", "C:\temp", 0)
    RunAsSet()

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Select
    ;~ Ruefa
    Case $FA = 't1' Or 'K1' Or 'k0'
    If @UserName = $USR Then
    $LOGON = $SOUSR
    ElseIf @ComputerName = $WS Then
    $LOGON = $SONDER
    Else
    $LOGON = $TSUSER
    EndIf
    RunWait("C:\Temp\RDPFile.exe -h" & $RUEFA & " -u" & $LOGON & " -p" & $RRPW & "-dOEVB -s", "C:\temp", @SW_HIDE)
    ;~ ÖVB
    Case $FA = 't2' Or Not 'K1' Or Not 'k0' Or Not 'k8'
    If @UserName = $USR Then
    $LOGON = $SOUSR
    ElseIf @ComputerName = $WS Then
    $LOGON = $SONDER
    Else
    $LOGON = $OVUSER
    EndIf
    RunWait("C:\Temp\RDPFile.exe -h" & $OEVB & " -u" & $LOGON & " -p" & $OVBPW & "-dOEVB -s", "C:\temp", @SW_HIDE)
    ;~ Intertravel
    Case $FA = 't5' Or 'k8'
    If @UserName = $USR Then
    $LOGON = $SOUSR
    ElseIf @ComputerName = $WS Then
    $LOGON = $SONDER
    Else
    $LOGON = $OVUSER
    EndIf
    RunWait("C:\Temp\RDPFile.exe -h" & $ITR & " -u" & $LOGON & " -p" & $OVBPW & "-dOEVB -s", "C:\temp", @SW_HIDE)
    Case Else
    MsgBox(0, "ACHTUNG!!!", "Ihre Workstation wurde nicht konfiguriert Bitte melden sie sich beim EDV-Helpdesk +43-1-xxxxxxx-xxx")
    EndSelect

    [/autoit] [autoit][/autoit] [autoit]

    Exit

    [/autoit]


    Dies ist das Script wo alle PC gleich heissen bzw. gleich beginnen. wenn Ihr die INIdatei noch braucht dann schreibt mir. :)


    danke für eure Ideen

  • PC einer OU im Active Directory zuordnen und auslesen

    • TOMTOM25m
    • 12. Dezember 2007 um 11:30

    leider hat keiner eine Antwort :whistling:
    hab auch schon die adfunctions.au3 durchforstet aber nix passendes gefunden.

    hmmm

  • PC einer OU im Active Directory zuordnen und auslesen

    • TOMTOM25m
    • 11. Dezember 2007 um 15:15

    Hi Leute!

    wie kann ich einen PC-Name (@ComputerName) einer OU im Active Directory zuordnen und die OU auslesen.
    die OU soll dann einer Variablen zugeordnet sein.
    so das ist die Probematik.
    Der Hintergrund dazu ist:

    ich muss einen TS-Client mit einem bestimmten Profil (logonname) einer bestimmten OU (Kostenstelle) zuordnen.

    die Kostenstelle 12345 benutzt dieses TS-Profillogon tsuser12345

    danke für die hilfe
    TOMTOM ;( :thumbup: :thumbup: :!:

  • Problem mit Windows XP Aktivierung

    • TOMTOM25m
    • 6. Dezember 2007 um 22:09

    Hi,
    Ich glaube in dem Fall es sogar erlaubt einen XP Key aus dem INet zu nehmen da du ja die Original CD hast 8)

    Aber ich bin mir da nicht sicher. Aber wo kein Kläger da kein Richter und wenn wirklich jemand kommen sollte hast du ja die Originale CD also rechtens....

    es ist ja wurscht was für einen Key du nimmst hauptsache du hast die CD (XP Version und Key müssen halt zusammenpassen (Home = Home, pro = pro)

    TOMTOM :rock: :rock:

  • Alles Gute peethebee

    • TOMTOM25m
    • 5. Dezember 2007 um 12:04

    auch von mir alles gute !!!! Peethepee

    lg
    TOM :rock: :rock:

  • M$ Word VBA in AutoIt umsetzen

    • TOMTOM25m
    • 26. September 2007 um 18:34

    Ich schicke mal mein kompletes Script:

    evtl zum nachstellen


    Spoiler anzeigen
    [autoit]


    #region --- ScriptWriter generated code Start ---
    Opt("WinWaitDelay", 100)
    Opt("WinTitleMatchMode", 4)
    Opt("WinDetectHiddenText", 1)
    Opt("MouseCoordMode", 0)

    [/autoit] [autoit][/autoit] [autoit]

    #endregion --- ScriptWriter generated code End ---

    [/autoit] [autoit][/autoit] [autoit]

    ;~ #NoTrayIcon
    Local $oDoc
    #include <Word.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Local $Vorlage = "D:\9. Scripts_ bestätigung\Bestätigung live\k0257_vorlagen\Bestätigung_Orient.dot"
    Local $Filepath = "D:\9. Scripts_ bestätigung\Bestätigung live\"
    Local $RRLOGO = "D:\9. Scripts_ bestätigung\Ruefa\Ruefa.jpg"
    Local $s_mode
    Local $oDoc

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    Sleep(200)
    If WinExists("w_precruefpr.", "") Then
    ExitLoop
    EndIf

    WEnd
    ClipPut("")
    WinWait("w_precruefpr.", "Microsoft Word-Dokument")
    If Not WinActive("w_precruefpr.", "Microsoft Word-Dokument") Then WinActivate("w_precruefpr.", "Microsoft Word-Dokument")
    WinWaitActive("w_precruefpr.", "Microsoft Word-Dokument")
    $handle = WinGetHandle("w_precruefpr.", "Microsoft Word-Dokument")

    [/autoit] [autoit][/autoit] [autoit]

    $oWordApp = _WordAttach($handle, "HWND");;;; das geöffnete word fenster auswählen
    $oDoc = _WordDocGetCollection($oWordApp, 0)
    ;~ If Not @error Then
    ;~ $oDoc = _WordDocGetCollection ($oWordApp, 0)
    ;~ MsgBox(64, "Document FileName", $oDoc.FullName)
    ;~ EndIf
    ;~ Exit
    $objSelection = $oWordApp.Selection
    $my_Text = $objSelection.WholeStory
    ;~ $objSelection.WholeStory ;;;;; Makiere alles
    ;~ $objSelection.Copy ;;; Copiere in die Zwischenablage
    $objSelection.Font.Spacing = 1;;;;adjust the distance between words to 2.5

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ;~ _WordDocFind($objSelection, $my_Text);;;look up string
    _WordDocPageSetup($objSelection);;;;_WordDocPageSetup( $objSelection,$PageWidth,$PageHeight)
    _WordDocParagraphFormat($oDoc, $my_Text, 60, 9, 0)

    [/autoit] [autoit][/autoit] [autoit]

    Exit

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func _WordDocParagraphFormat($s_oDoc, $s_Text, $s_Color, $s_Size, $s_Number)
    With $oDoc.Range
    .ParagraphFormat.Alignment = 1
    .ParagraphFormat.LineSpacing = 9
    .InsertAfter ($s_Text)
    .Font.Name = "Courier New"
    .Font.Color = $s_Color
    .Font.Size = $s_Size
    .SetRange (0, $s_Number)
    .TwoLinesInOne = 0
    EndWith
    EndFunc ;==>_WordDocParagraphFormat

    [/autoit] [autoit][/autoit] [autoit]

    Func _WordDocPageSetup($objSelection)
    With $objSelection.PageSetup
    .LineNumbering.Active = False
    .Orientation = "wdOrientPortrait"
    .TopMargin = 2.5
    .BottomMargin = 2
    .LeftMargin = 2.5
    .RightMargin = 2.5
    .Gutter = 0
    .HeaderDistance = 1.25
    .FooterDistance = 1.25
    .PaperSize ('wdPaperA4')
    .PageWidth =21;;;21
    .PageHeight = 29.7;;;29,7
    .FirstPageTray = "wdPrinterDefaultBin"
    .OtherPagesTray = "wdPrinterDefaultBin"
    .SectionStart = "wdSectionNewPage"
    .OddAndEvenPagesHeaderFooter = False
    .DifferentFirstPageHeaderFooter = False
    .VerticalAlignment = "wdAlignVerticalTop"
    .SuppressEndnotes = False
    .MirrorMargins = False
    .TwoPagesOnOne = False
    .BookFoldPrinting = False
    .BookFoldRevPrinting = False
    .BookFoldPrintingSheets = 1
    .GutterPos = "wdGutterPosLeft"
    EndWith
    EndFunc ;==>_WordDocPageSetup
    Func _FirstTextremove($objSelection)
    $objSelection.MoveDown ('wdLine',10, 'wdExtend')
    $objSelection.Delete ('wdCharacter',1)
    $objSelection.Find.ClearFormatting
    $objSelection.Find.Replacement.ClearFormatting
    With $objSelection.Find
    .Text = "^p^p^p^p^p^p^p^p^p^p"
    .Replacement.Text = ""
    .Forward = True
    .Wrap = "wdFindContinue"
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchWildcards = False
    .MatchSoundsLike = False
    .MatchAllWordForms = False
    EndWith
    $objSelection.Find.Execute ('wdReplaceAll')
    EndFunc ;==>_FirstTextremove

    [/autoit] [autoit][/autoit] [autoit]

    Func _WordDocFind($s_objSelection, $s_Text)
    With $s_objSelection.Find
    .Text = $s_Text
    .Execute
    EndWith
    EndFunc ;==>_WordDocFind

    [/autoit]
  • M$ Word VBA in AutoIt umsetzen

    • TOMTOM25m
    • 26. September 2007 um 18:09
    Zitat

    Original von BugFix
    Stimmt, war ein Denkfehler. Die Wertzuweisung muß natürlich AutoIt-like erfolgen.
    Also entweder so:

    [autoit]

    $Unit = 'wdLine'
    $Count = 10
    $Extend = 'wdExtend'
    $objSelection.MoveDown( $Unit , $Count, $Extend)

    [/autoit]


    oder so:

    [autoit]

    $objSelection.MoveDown( 'wdLine', 10, 'wdExtend' )

    [/autoit]


    Edit: Lese gerade, das hattest du schon getestet. Hmm... erst mal keine weiteren Ideen. ?(

    Ahhh, aber mit anderer Syntax. Check das mal so.

    Alles anzeigen

    ok gecheckt

    so jetzt bekomm ich die Meldung :

    [autoit]

    D:\9. Scripts_ bestätigung\Bestätigung2PDF.au3 (92) : ==> The requested action with this object has failed.:
    .Orientation = 'wdOrientPortrait'
    .Orientation = 'wdOrientPortrait'^ ERROR

    [/autoit]
  • M$ Word VBA in AutoIt umsetzen

    • TOMTOM25m
    • 26. September 2007 um 18:00
    Zitat

    Original von peethebee
    Parameter vielleicht in " " einschließen (also als Strings übergeben)?

    peethebee


    leider nein, hatte ich auch schon mal probiert :(


    Spoiler anzeigen
    [autoit]

    D:\9. Scripts_ bestätigung\Bestätigung2PDF.au3(119,68) : ERROR: syntax error
    $objSelection.MoveDown "Unit:=wdLine, Count:=10, Extend:=wdExtend"
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^

    [/autoit]
  • M$ Word VBA in AutoIt umsetzen

    • TOMTOM25m
    • 26. September 2007 um 17:51
    Zitat

    Original von BugFix

    [autoit]

    $objSelection.MoveDown Unit:= wdLine, Count:= 10, Extend: = wdExtend

    [/autoit]


    Unit, Count, Extend sind Parameter des Word-Selection-Objects, Move-Methode.
    Demzufolge sollte der Aufruf m.E. so aussehen:

    [autoit]

    $objSelection.MoveDown( Unit:= wdLine, Count:= 10, Extend: = wdExtend )

    [/autoit]

    Hallo :)

    leider funzt das nicht so :(

    des hab ich auch schon Probiert :(

    Spoiler anzeigen
    [autoit]

    D:\9. Scripts_ bestätigung\Bestätigung2PDF.au3(92,41) : ERROR: syntax error
    .Orientation = (wdOrientPortrait)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    D:\9. Scripts_ bestätigung\Bestätigung2PDF.au3(100,25) : ERROR: syntax error
    .PaperSize = wdPaperA4
    ~~~~~~~~~~~~~~~~~~~~~~^
    D:\9. Scripts_ bestätigung\Bestätigung2PDF.au3(103,45) : ERROR: syntax error
    .FirstPageTray = wdPrinterDefaultBin
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    D:\9. Scripts_ bestätigung\Bestätigung2PDF.au3(104,46) : ERROR: syntax error
    .OtherPagesTray = wdPrinterDefaultBin
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    D:\9. Scripts_ bestätigung\Bestätigung2PDF.au3(105,41) : ERROR: syntax error
    .SectionStart = wdSectionNewPage
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    D:\9. Scripts_ bestätigung\Bestätigung2PDF.au3(108,48) : ERROR: syntax error
    .VerticalAlignment = wdAlignVerticalTop
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    D:\9. Scripts_ bestätigung\Bestätigung2PDF.au3(115,37) : ERROR: syntax error
    .GutterPos = wdGutterPosLeft
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    D:\9. Scripts_ bestätigung\Bestätigung2PDF.au3(119,32) : ERROR: syntax error (illegal character)
    $objSelection.MoveDown (Unit:
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    D:\9. Scripts_ bestätigung\Bestätigung2PDF.au3(119,61) : ERROR: syntax error (illegal character)
    $objSelection.MoveDown (Unit:= wdLine, Count:= 10, Extend:
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    D:\9. Scripts_ bestätigung\Bestätigung2PDF.au3(120,31) : ERROR: syntax error (illegal character)
    $objSelection.Delete (Unit:
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    D:\9. Scripts_ bestätigung\Bestätigung2PDF.au3(128,31) : ERROR: syntax error (illegal character)
    .Wrap = wdFindContinue
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    D:\9. Scripts_ bestätigung\Bestätigung2PDF.au3(136,32) : ERROR: syntax error
    $objSelection.Find.Execute Replace
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^

    [/autoit]
  • M$ Word VBA in AutoIt umsetzen

    • TOMTOM25m
    • 26. September 2007 um 16:46

    Hi Leute, hab da ein verständniss Problem :(

    ich hab da ein VBA Script das ich aus Word Extrahiert habe.

    wie ich es einbinde weis ich auch schon :D

    aber manches weis ich nicht wie ich es umsetzen soll:

    so hier meine Funktion :

    Spoiler anzeigen
    [autoit]

    Func _WordDocPageSetup($objSelection)
    With $objSelection.PageSetup
    .LineNumbering.Active = False
    .Orientation = wdOrientPortrait
    .TopMargin = 2.5
    .BottomMargin = 2
    .LeftMargin = 2.5
    .RightMargin = 2.5
    .Gutter = 0
    .HeaderDistance = 1.25
    .FooterDistance = 1.25
    .PaperSize = wdPaperA4
    ;~ .PageWidth =21;;;21
    ;~ .PageHeight = 29.7;;;29,7
    .FirstPageTray = wdPrinterDefaultBin
    .OtherPagesTray = wdPrinterDefaultBin
    .SectionStart = wdSectionNewPage
    .OddAndEvenPagesHeaderFooter = False
    .DifferentFirstPageHeaderFooter = False
    .VerticalAlignment = wdAlignVerticalTop
    .SuppressEndnotes = False
    .MirrorMargins = False
    .TwoPagesOnOne = False
    .BookFoldPrinting = False
    .BookFoldRevPrinting = False
    .BookFoldPrintingSheets = 1
    .GutterPos = wdGutterPosLeft
    EndWith
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _FirstTextremove($objSelection)
    $objSelection.MoveDown Unit:= wdLine, Count:= 10, Extend: = wdExtend
    $objSelection.Delete Unit:=wdCharacter, Count: =1
    $objSelection.Find.ClearFormatting
    $objSelection.Find.Replacement.ClearFormatting
    With $objSelection.Find
    .Text = "^p^p^p^p^p^p^p^p^p^p"

    [/autoit] [autoit][/autoit] [autoit]

    .Replacement.Text = ""
    .Forward = True
    .Wrap = wdFindContinue
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchWildcards = False
    .MatchSoundsLike = False
    .MatchAllWordForms = False
    EndWith
    $objSelection.Find.Execute Replace:=wdReplaceAll
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit]

    bei alle wd..... oder Unit:= ..... schreibt er mir ein syntax error

    wie kann ich das funktionstüchtig machen ??

    danke für die Hilfe
    TOMTOM

  • MS Word Macro in AutoIt ansteuern bzw nachbilden

    • TOMTOM25m
    • 24. September 2007 um 11:21

    Hi@ all,

    ich hab da ein Problem mit der Umsetzung.
    So hier die Ausgangssituation:
    Wir haben ein Programm das Lieferscheine,Rechnungen ect. in ein Worddokument übergibt. Das Dokument in einem US-LETTER .rtf Format.

    Ich muss das Ganze mit einer anderen Schriftart (Courier New), Schriftgröße (9), Seitenformat (A4) und einer Vorlage (Kopfzeile: Firmenlogo, Fusszeile: Anschrift) zusammenfügen und umformartieren.

    Das umformatierte Word Dokument soll dann in ein PDF umgewandelt werden, zur Ablage in ein Verzeichniss gespeichert und als Mail versendet werden.

    hier das Installations intensive Word Macro:
    (PDF Drucker muss installiert werden das Macro muss immer wieder angepasst werden , der Standard Drucker ändert sich laufend)

    Spoiler anzeigen
    [autoit]

    ' Erste Leerzeichen entfernen
    '
    Selection.MoveDown Unit:=wdLine, Count:=10, Extend:=wdExtend
    Selection.Delete Unit:=wdCharacter, Count:=1
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
    .Text = "^p^p^p^p^p^p^p^p^p^p"
    ' ^p^p^p^p^p^p^p^p^p^p^p^p^p"
    .Replacement.Text = ""
    .Forward = True
    .Wrap = wdFindContinue
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchWildcards = False
    .MatchSoundsLike = False
    .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll

    ' Manuelle Seiteumbrüche entfernen

    [/autoit] [autoit][/autoit] [autoit]

    ' Selection.Find.ClearFormatting
    ' Selection.Find.Replacement.ClearFormatting
    ' With Selection.Find
    ' .Text = "^m"
    ' .Replacement.Text = ""
    ' .Forward = True
    ' .Wrap = wdFindContinue
    ' .Format = False
    ' .MatchCase = False
    ' .MatchWholeWord = False
    ' .MatchWildcards = False
    ' .MatchSoundsLike = False
    ' .MatchAllWordForms = False
    ' End With
    ' Selection.Find.Execute Replace:=wdReplaceAll

    [/autoit] [autoit][/autoit] [autoit]

    ' Alles auf Courier NEW schrift 9 einstellen

    Selection.WholeStory
    Selection.Font.Name = "Courier New"
    Selection.Font.Size = 9

    ' Seiteneinstellungen
    '
    With ActiveDocument.Styles(wdStyleNormal).Font
    If .NameFarEast = .NameAscii Then
    .NameAscii = ""
    End If
    .NameFarEast = ""
    End With
    With ActiveDocument.PageSetup
    .LineNumbering.Active = False
    .Orientation = wdOrientPortrait
    .TopMargin = CentimetersToPoints(3.7)
    .BottomMargin = CentimetersToPoints(0.74)
    .LeftMargin = CentimetersToPoints(0.47)
    .RightMargin = CentimetersToPoints(0.47)
    .Gutter = CentimetersToPoints(0)
    .HeaderDistance = CentimetersToPoints(1.25)
    .FooterDistance = CentimetersToPoints(1.25)
    .PageWidth = CentimetersToPoints(21)
    .PageHeight = CentimetersToPoints(29.7)
    .FirstPageTray = wdPrinterDefaultBin
    .OtherPagesTray = wdPrinterDefaultBin
    .SectionStart = wdSectionNewPage
    .OddAndEvenPagesHeaderFooter = False
    .DifferentFirstPageHeaderFooter = False
    .VerticalAlignment = wdAlignVerticalTop
    .SuppressEndnotes = False
    .MirrorMargins = False
    .TwoPagesOnOne = False
    .BookFoldPrinting = False
    .BookFoldRevPrinting = False
    .BookFoldPrintingSheets = 1
    .GutterPos = wdGutterPosLeft
    End With

    ' ein neues Dokument von der der Vorlage Bestätigung.dot erstellen
    Dokument = "C:\TEMP\Bestätigung.rtf"

    If Dokument = True Then Dokument.DeleteFile "C:\TEMP\Bestätigung.rtf", True

    Documents.Add Template:="C:\RUEFA\Vorlagen\Bestätigung.dot", NewTemplate:= _
    True, DocumentType:=0
    ActiveDocument.SaveAs FileName:="C:\TEMP\Bestätigung.rtf", FileFormat:= _
    wdFormatRTF, LockComments:=False, Password:="", AddToRecentFiles:= _
    True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:= _
    False, SaveNativePictureFormat:=False, SaveFormsData:=False, _
    SaveAsAOCELetter:=False
    ActiveWindow.Close
    ' ActiveDocuments.Close

    ' das RTF Dokument und die vorlage zusammenführen

    ActiveDocument.Merge FileName:="C:\TEMP\Bestätigung.rtf", _
    MergeTarget:=wdMergeTargetSelected, DetectFormatChanges:=True, _
    UseFormattingFrom:=wdFormattingFromPrompt, AddToRecentFiles:=False

    '
    ' Makro1 Makro
    ' Makro aufgezeichnet am 08.02.2005 von Garnreiter Thomas
    '
    ActivePrinter = "FreePDF XP"
    Application.PrintOut FileName:="", Range:=wdPrintAllDocument, Item:= _
    wdPrintDocumentWithMarkup, Copies:=1, Pages:="", PageType:= _
    wdPrintAllPages, ManualDuplexPrint:=False, Collate:=True, Background:= _
    True, PrintToFile:=False, PrintZoomColumn:=0, PrintZoomRow:=0, _
    PrintZoomPaperWidth:=0, PrintZoomPaperHeight:=0
    ActivePrinter = "HP LaserJet"

    [/autoit] [autoit][/autoit] [autoit]

    ' Die Dokumente Schließen
    Documents.Close SaveChanges:=wdDoNotSaveChanges
    ' Documents("w_precruefpr").Activate
    ' Documents("w_precruefpr").Close SaveChanges:=wdDoNotSaveChanges

    [/autoit] [autoit][/autoit] [autoit]

    End Sub

    [/autoit]

    Mein AutoIt Ansatz leider noch sehr unvollständig:
    1.) ich hab Probleme mit dem Sprung in das geöffnete Worddokument
    2.) probleme mit der umsetzeung von VB macro in AU3 schript


    Spoiler anzeigen
    [autoit]


    #region --- ScriptWriter generated code Start ---
    Opt("WinWaitDelay", 100)
    Opt("WinTitleMatchMode", 4)
    Opt("WinDetectHiddenText", 1)
    Opt("MouseCoordMode", 0)

    [/autoit] [autoit][/autoit] [autoit]

    #endregion --- ScriptWriter generated code End ---

    [/autoit] [autoit][/autoit] [autoit]

    ;~ #NoTrayIcon

    [/autoit] [autoit][/autoit] [autoit]

    #include <Word.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Local $Vorlage = "D:\9. Scripts_ bestätigung\Bestätigung live\k0257_vorlagen\Bestätigung_Orient.dot"
    Local $Filepath = "D:\9. Scripts_ bestätigung\Bestätigung live\"
    Local $RRLOGO = "D:\9. Scripts_ bestätigung\Ruefa\Ruefa.jpg"
    Local $s_mode

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    Sleep(200)
    If WinExists("w_precruefpr.", "") Then
    ExitLoop
    EndIf

    WEnd
    ClipPut("")
    WinWait("w_precruefpr.", "Microsoft Word-Dokument")
    If Not WinActive("w_precruefpr.", "Microsoft Word-Dokument") Then WinActivate("w_precruefpr.", "Microsoft Word-Dokument")
    WinWaitActive("w_precruefpr.", "Microsoft Word-Dokument")

    [/autoit] [autoit][/autoit] [autoit]

    Send("{CTRLDOWN}a{CTRLUP}")
    Send("{CTRLDOWN}c{CTRLUP}")

    [/autoit] [autoit][/autoit] [autoit]

    WinClose("w_precruefpr.", "Microsoft Word-Dokument")

    [/autoit] [autoit][/autoit] [autoit]

    If WinExists("Microsoft Office Word","&Ja") Then
    ControlClick("Microsoft Office Word","&Ja",7)
    EndIf

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ;~ Send("{ALTDOWN}EA{ALTUP}")
    ;~ Sleep(100)
    ;~ Send(" ^C")
    ;~ WinClose("w_precruefpr.", "")

    [/autoit] [autoit][/autoit] [autoit]

    $oWordApp = _WordCreate($Vorlage, 0, 1, 0)
    $oDoc = _WordDocGetCollection($oWordApp, 0)

    [/autoit] [autoit][/autoit] [autoit]

    $handle = ControlGetHandle("Dokument", "", "CLASSNN:_WwG")
    If Not WinActive($handle) Then WinActivate($handle)

    [/autoit] [autoit][/autoit] [autoit]

    ;~ ControlSend("", "", $handle, "^v")
    ;~ ControlSend("", "", $handle, "{CTRLDOWN}v{CTRLUP}")
    Send("^v")

    [/autoit] [autoit][/autoit] [autoit]

    _WordMacroRun ($oWordApp, "Bestätigung")

    [/autoit] [autoit][/autoit] [autoit][/autoit]

    Ich würde gerne den _WordMacroRun aufruf auslassen, da ich das Ganze Autark installieren muss. (bei der Inst. soll alleine nur das Word (2003 / 2007) vorraussetzung sein.

    Die ganzen Variablen sollen dann in ein INI file


    Bitte um Hilfe .........


    danke TOMTOM

  • Sicherungstool - dauert zu lange

    • TOMTOM25m
    • 21. Juni 2007 um 16:03

    Hi Leute

    wie wärs mit Robocopy vom M$ ??

    also Ich mache in meinen scripts das Backup damit. man kann Files/Dirs auschließen usw. es gibt eine ausführliche DOC (leider nur in englisch)

    mein Save Script:

    Spoiler anzeigen
    [autoit]


    ......................................
    RunWait(@ScriptDir & '\ROBOCOPY.EXE "' & $JACDAT & '" "' _
    & $root & '\Save_NACH_Rebuild" *.* /V /X /TS /FP /ZB /COPY:DAT /E /PURGE /R:10 /W:30 /XF *old.* *.bak *.old *-VaAbr*.* *.Html *.txt /XD ' _
    & $JACDAT & '\Belegarchiv ' & $JACDAT & '\Jackold ' & $JACDAT & '\OEVB_Schnittstelle ' _
    & $JACDAT & '\Save_NACH_Rebuild /NP /TEE /LOG:' & $root & '\log\Save_nach_rebuild.log ', @ScriptDir)
    .......................................

    [/autoit]

    daher hab ichs :)

    http://www.msu-hb.de/system/system/robocopy.htm

    lg

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™