1
votes

I recently started using autohotkey, so I am still reading up on it.

I am using a webbased program (java) where I am required to copy an e-mail address from a drop-down list. So when I choose a contact in the drop down list and an e-mail address next to this top down list will be displayed . I then have to copy paste this e-mail address into the "to send" box into outlook (to send an e-mail).

I have to this about 300x times a day.

What I am trying to know if it's possible to do the following:

I want to copy the e-mail address (using Ctrl + V or a shortcut or highlight) which will be automatically pasted into notepad/clipboard. However after each pasted e-mail address i want it to add ";" after each e-mail-address in notepad/clipboard so that I can copy and paste all e-mail addresses into the to send field in outlook.

EDIT:: SOLVED!

With a LOT of help from @blauhirn (thanks!!!)

all_mails := ""

^l::    ; store e-mail
;Copy the selected text to the Clipboard.
    SendInput, ^c
;Wait for the Clipboard to fill.
    ClipWait

; attach this mail to the end of the mailing list
    all_mails := Clipboard . "`;" . all_mails

return

#v::    ; paste the mail collection
sendraw, %all_mails%
return

^r::
all_mails := ""
return

#b:: ; send the contents of all_mails into the send-to-field of outlook
controlsendraw, RichEdit20WPT1, %all_mails%, ahk_class rctrl_renwnd32
return
1

1 Answers

1
votes

(REFERRING TO YOUR INITIAL QUESTION)

Note: You don't need to empty the clipboard before refilling it.

Simply append the ; to each result and store it in a global variable. Once you want to release the variable's contents, press Win+V.

all_mails := "Run, mailto: "

#x::    ; store e-mail
;Copy the selected text to the Clipboard.
    SendInput, ^c
;Wait for the Clipboard to fill.
    ClipWait

; attach this mail to the end of the mailing list
    all_mails := all_mails . "`;" . Clipboard

return

#v::    ; paste the mail collection
sendraw, %all_mails%
all_mails := ""
return