Sign in to follow this  
Followers 0
Radsam

Assistance with Automating creation of a button in Outlook

2 posts in this topic

Does anyone know how to automate creating a button in Outlook 2003 within the toolbar with a custom name and URL?

If so, please share.

Thanks,

Radsam

Share this post


Link to post
Share on other sites



@Radsam

An easy way to do so is make use of the ANYGUI.au3 Include posted in "Scripts and Scraps".

Using this you can create any button and link any functionality to that botton.

An example of a button added to tha File Explorer is here :

#include <ANYGUI.au3>
#include <guiconstants.au3>

Opt("WinTitleMatchMode", 4) ; Allow ClassName lookup to avoid window confusion
Opt("GUIOnEventMode", 1) ; Change to OnEvent mode

Global $handleList = ""
Dim $Test

While 1
    $appWindow = WinGetHandle("classname=ExploreWClass")
    If @error Then
        $handleList = "" ; No Explorer windows found, so clear the list
        sleep(250)
        ContinueLoop
    EndIf
    
;; CHECK WHETHER $handleList is up to date;;
    
;ToolTip("DEBUG:  " & $handleList & "      " & $appWindow)
    
;If $appWindow is not in our list, add it
    If Not StringInStr($handleList, "|" & $appWindow) Then
        $handleList = $handleList & "|" & $appWindow
        Addbutton($appWindow)
        
    Else
;;MsgBox(4096,"debug","present")
    EndIf

;If $handleList has no-longer-existing enteries, remove them
;Doesn't work, possibly due to syntax or handle-string conversion issues
    #cs
    $rebuiltList = ""
    $array = StringSplit($handleList, "|")
    For $i = 1 to $array[0]
        If WinExists("handle=" & $array[$i]) Then $rebuiltList = $rebuiltList & "|" & $array[$i]
    Next
    $handleList = $rebuiltList
    #ce
    
    sleep(250)
WEnd


Func Clicked()
    $test=ControlGetText("","",41477)
    MsgBox(0,"TEST","OK  "&$test)
EndFunc

Func AddButton($winhandle)
    Local $Targetwindow, $btn
    $Targetwindow = _GuiTarget($winhandle,"","FolderView",40960); mode 1 set so all '_Targetadd(s) go to this window
    $btn = _TargetaddButton ( "New Button", 740, 3, 80, 30,"","",$Targetwindow);
    GUICtrlSetOnEvent($btn[0], "Clicked") ; [0] returns the array element of the button see detail $a[0] in AnyGui Functions
    
    GUISetState(@SW_SHOW)
EndFunc

Run this script open the file Explorer and you 'll see a button is created on the tool bar. You can click on it and something will happen.

I hope this will help you on the right track

Enjoy !!

ptrex

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0