0

我为在 IBM Lotus Notes 中写出电子邮件而编写的自动热键脚本对我来说效果很好,但是当我将脚本分享给其他同事使用时,击键不会发送到他们的 IBM Lotus Notes。当我在他们的 microsoft word 中使用该脚本时,该脚本将起作用,但是,它们不适用于 IBM Lotus notes。Lotus notes 上是否有允许发送击键宏的设置?autohotkey 中是否有可以绕过限制的语法?

我在脚本前面添加了以下带有主题标签的内容,但仍然没有运气:InstallKeybdHook、UseHook On、NoEnv、Warn

我无法在管理员上运行脚本,因为公司防火墙阻止了我们的访问

我尝试将 SendInput 更改为 SendPlay 和 SendEvent

^d::
row := 2 
wbk := 
ComObjGet("C:\Users\xxxx\Desktop\target\excelfile.xlsx").Sheets("sheet1")

email := wbk.Cells(row, 3).Value
companyname := wbk.Cells(row, 1).Value
personname := wbk.Cells(row, 2).Value
subject := wbk.Cells(2, 1).Value
emailpart := wbk.Cells(2, 3).Value

;Enter sender name
SendInput, % email

;Enter subject
Send, {Tab}{Tab}{Tab}
SendInput, % subject
SendInput, % companyname
Send, {Tab}

;Enter email
Send, Hi{Space}
SendInput, % personname
Send, ,{Enter}{Enter}
SendInput, % emailpart 
Send, {Enter}

row++
Return
4

1 回答 1

0

你看过控制命令吗?

ControlSend , 控制, 键, WinTitle, WinText, ExcludeTitle, ExcludeText

GuiControl、子命令、ControlID、值

当我使用基本的发送命令时,我通常在发送之前使用 BlockInput On,之后使用 BlockInput Off。

小心使用 BlockInput。确保您的代码在执行 Block Input On 命令后不会陷入循环。

于 2019-09-12T18:31:34.757 回答