Wnn du immer 5 Stellen hast, dann kannst du StringFormat verwenden.
[autoit]Local $Zahl = 8512
MsgBox(0,"", StringFormat('%005s', $Zahl))
wenn du überall die Null loswerden willst dann addiere mit Null ![]()
Local $Zahl = '08512'
MsgBox(0,"", $Zahl + 0)
Wnn du immer 5 Stellen hast, dann kannst du StringFormat verwenden.
[autoit]Local $Zahl = 8512
MsgBox(0,"", StringFormat('%005s', $Zahl))
wenn du überall die Null loswerden willst dann addiere mit Null ![]()
Local $Zahl = '08512'
MsgBox(0,"", $Zahl + 0)
Das zusätzliche x kommt daher, dass ich Office 2007 und nicht Office 2003 installiert habe. Da hat sich die Erweiterung geändert. Und ich hab nach dem testen vergessen es zu löschen.
Das wichtigste ist, dass der Pfad und der Dateianme der Excel-Datei 100%ig stimmen muss. Liegt deine Datei wirklich auf dem Desktop? Ansonsten musst du den Pfad anpassen.
Bei mir muss beim Befehl _ExcelBookAttach die Datei nicht mal in Excel geöffnet sein, weiß aber nicht ob das bei O2k3 auch so ist. Wenn der Text im Feld I3 mit 'mailto:' beginnt, dann öffnet sich automatisch ein 'Senden an-Fenster' deines Standard-Email-Clients.
Send('{MEDIA_PREV}')
Send('{MEDIA_NEXT}')
Send("{down "& Random(1, 100, 1) &"}")
[/autoit]Entweder du versuchst es mit Progandy's Version von WinMenuSelectItem (Das Original funktioniert bei mir auch nicht :(), oder du versuchst es so:
[autoit]SendKeepActive('TrueCrypt')
Send('!ye') ; Sende Alt+y, dann e
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
GUICreate("TEST", 640, 480)
GUIRegisterMsg($WM_COMMAND, '_WMCOMMAND')
$AA103 = GUICtrlCreateLabel("FirstName:", 20, 150, 100, 20)
$AA104 = GUICtrlCreateInput("", 140, 150, 100, 20)
$AA105 = GUICtrlCreateLabel("LastName:", 20, 180, 100, 20)
$AA106 = GUICtrlCreateInput("", 140, 180, 100, 20)
$AA107 = GUICtrlCreateLabel("DisplayName:", 20, 210, 100, 20)
$AA108 = GUICtrlCreateInput("", 140, 210, 100, 20)
$set = GUICtrlCreateButton("&Set", 430, 448, 75, 25, 0)
$Cancel = GUICtrlCreateButton("&Cancel", 540, 448, 75, 25, 0)
GUISetState()
[/autoit] [autoit][/autoit] [autoit]While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
Case $msg = $Cancel
ExitLoop
Case $msg = $set
EndSelect
WEnd
Func _WMCOMMAND($hWnd, $Msg, $wParam, $lParam)
$nNotifyCode = BitShift($wParam, 16)
$nID = BitAND($wParam, 0x0000FFFF)
$hCtrl = $lParam
If $nID = $AA104 Or $nID = $AA106 Then GUICtrlSetData($AA108, GUICtrlRead($AA104) & ' ' & GUICtrlRead($AA106))
EndFunc
Ich kenne die Menü-Kürzel für dieses Programm nicht, aber im Prinzip so z.B.:
[autoit]Send('!sf') ; Sende Alt+s, dann f
[/autoit]Buchstaben musst du passend einsetzen.
Andere Möglichkeiten:
[ offen ] Speicherplatz von einem Programm
Annahme: Es gibt auf dem Desktop eine Datei mit dem Namen Mail.xls. Diese ist bereits mit Excel geöffnet. In der Zelle I3 steht mailto:irgendwer@irgendwo.de.
Nun führt man folgendes Skript aus:
[autoit]#include <INet.au3>
#Include <Excel.au3>
$oXLS = _ExcelBookAttach(@DesktopDir & '\Mail.xlsx')
$MailTo = _ExcelReadCell($oXLS, 3, 9) ;lese aus I3
If StringLeft($MailTo, 7) = 'mailto:' Then _INetMail(StringTrimLeft($MailTo, 7), "Betreff", "Text")
Du brauchst nicht mit Mouseklicks zu arbeiten und auch keine Tab's senden ![]()
#include <INet.au3>
#Include <Excel.au3>
$oXLS = _ExcelBookAttach(@DesktopDir & '\Mail.xls')
$MailTo = _ExcelReadCell($oXLS, 1, 5) ;lese aus E1
If StringLeft($MailTo, 7) = 'mailto:' Then _INetMail(StringTrimLeft($MailTo, 7), "", "")
Hast du dir die Hilfe überhaupt schon einmal durchgelesen?!!
Zitat von Hilfe zu HotKeySetAlles anzeigenUm eine Tastenkombination zu senden, welche ein HotKeySet Ereignis auslösen würde, nutze man ControlSend() oder gebe den Hotkey vorher frei, da ansonsten eine Endlosschleife entstehen könnte.
; Abfangen und Weitergeben von Tastendrücken
HotKeySet("{Esc}","captureEsc")
Func captureEsc()
HotKeySet("{Esc}")
; ... mach irgendwas
Send("{Esc}")
HotKeySet("{Esc}","captureEsc")
EndFunc
Habt ihr euch die Beta-Version schon angeschaut. Da geht's. Heißt dann aber AdlibRegister.
Das muss doch gehen! Beachte aber den Unterschied zwischen der Funktion '_begin' und 'begin'!
For $i = Asc('a') To Asc('h')
HotKeySet(Chr($i), 'begin')
Next
Func begin()
MsgBox(0, "", @HotKeyPressed)
EndFunc
While 1
Sleep(10)
WEnd
Oder so. Dann ist es leichter verständlich.
[autoit]For $i = Asc('a') To Asc('h')
HotKeySet(Chr($i), 'begin')
Next
Probier mal so:
#include <IE.au3>
[/autoit] [autoit][/autoit] [autoit]$ObjectsIE = Attach()
[/autoit] [autoit][/autoit] [autoit]For $i = 0 To UBound($ObjectsIE) - 1
ConsoleWrite('! ' & _IEPropertyGet($ObjectsIE[$i], "locationurl") & @CRLF)
Next
Func Attach()
Local $aWintitle, $aoIE[1], $iCount = 0
Local $aPID = ProcessList("iexplore.exe")
For $i = 1 To $aPID[0][0]
$aWintitle = _PID2WinTitle($aPID[$i][1])
For $j = 1 To $aWintitle[0]
If StringInStr($aWintitle[$j], 'Windows Internet Explorer') > 0 Then
$iCount += 1
ReDim $aoIE[$iCount]
$aoIE[$iCount - 1] = _IEAttach($aWintitle[$j], 'WindowTitle')
EndIf
Next
Next
Return $aoIE
EndFunc ;==>Attach
Func _PID2WinTitle($pid)
;funkey
Local $aFenstertitel[1] = [0], $Liste = WinList()
For $i = 1 To $Liste[0][0]
If $pid = WinGetProcess($Liste[$i][0]) Then
ReDim $aFenstertitel[$aFenstertitel[0] + 2]
$aFenstertitel[0] += 1
$aFenstertitel[$aFenstertitel[0]] = $Liste[$i][0]
EndIf
Next
Return $aFenstertitel
EndFunc ;==>_PID2WinTitle
Den Rest erhälst du mit 'Mod'.
Hab ein Skript mit deinen Einstellungen kompiliert und ich kann keine Verzögerung feststellen. Alles normal.
Ich hab den klassischen Style ![]()
Hast du den Link oben gesehen?
Bei mir unter XP hat es alle Farben. Da gibt es aber irgendwo einen DLL-Aufruf, der auf Standard-Progressbar umstellt, weiß nur leider nicht wo.
Edit: Gefunden: [ gelöst ] Progresscolor