Lotus notes 为“创建Lotus Notes热键/快捷键”;“用历史回答所有人”;

Lotus notes 为“创建Lotus Notes热键/快捷键”;“用历史回答所有人”;,lotus-notes,autohotkey,lotusscript,lotus-formula,Lotus Notes,Autohotkey,Lotusscript,Lotus Formula,因为我喜欢快速访问常用操作,所以我想定义一个热键,例如Alt+L来执行“使用历史记录回复所有邮件”,以对所选电子邮件进行操作。我正在Windows下使用LotusNotes8.5。目前,我必须单击“回复”按钮,然后单击“仅回复所有历史记录”,或者必须按Alt+3,然后将光标向下移动几次,然后按enter键。实际上,Alt+3并不总是有效的,因为如果电子邮件是在它自己的窗口中打开的,那么你必须使用Alt+2 我寻求了几种解决方案: o我在lotusnotes中寻找了一致的热键,但运气不好。Lotu

因为我喜欢快速访问常用操作,所以我想定义一个热键,例如Alt+L来执行“使用历史记录回复所有邮件”,以对所选电子邮件进行操作。我正在Windows下使用LotusNotes8.5。目前,我必须单击“回复”按钮,然后单击“仅回复所有历史记录”,或者必须按Alt+3,然后将光标向下移动几次,然后按enter键。实际上,Alt+3并不总是有效的,因为如果电子邮件是在它自己的窗口中打开的,那么你必须使用Alt+2

我寻求了几种解决方案:
o我在lotusnotes中寻找了一致的热键,但运气不好。LotusNotes中的快捷键支持不是很好,并且您无法定义自定义快捷键

o我已经尝试使用AutoHotkey向Lotus发送击键。您可以通过键入Alt+a进入“操作”菜单进行回复。不幸的是,“操作”菜单下的快捷键会更改您是否在电子邮件列表中或电子邮件是否在其自己的窗口中。此外,“操作”菜单并不总是快速下拉,因此对发送的击键进行计时是有问题的

o我已经试着编写LotusScript代理来完成全部回复。我了解到有一个名为“回复所有\仅回复所有历史记录”的共享操作。我认为没有办法让代理调用现有的共享操作,所以我想我可以将共享操作代码克隆到我的代理中。这仍然存在通过热键调用代理的问题

o我还没有尝试过,但我认为解决方案是创建一个可以执行全部回复的代理。创建一个VBS脚本,使用Lotus Notes OLE/COM接口调用代理,然后在按下热键时让AutoHotkey调用VBS文件。仅供参考:自动热键不直接支持COM。然而,AutoIt和我相信AutoHotkey确实支持COM和热键,因此我可以使用其中一种语言


我愿意接受任何建议,但我想要一个可靠的解决方案。如前所述,我当前的自动热键解决方案有时会失败,因为LotusGUI不是一个非常标准的Windows GUI。据我所知,LotusGUI是一个Java/Eclipse应用程序。我相信Lotus支持Eclipse插件,所以这可能是一种选择。

您可以使用自定义的smarticon(工具栏按钮)使您的生活更轻松。我没有8.5来测试它,但它可以在Notes6上运行

进入邮件数据库的设计视图,打开备忘录表单。然后查找要复制的操作按钮。复制所有公式代码(可能只有几行)。然后右键单击工具栏并选择工具栏属性,创建一个新的工具栏按钮。将公式粘贴到按钮中并保存


这仍然不能让你找到你正在寻找的快捷键触发器,但是也许在8.5中你可以给工具栏图标指定一个热键?如果没有,您可以创建一个由您选择的热键触发的自动热键脚本,该脚本使用相对于当前窗口的引用模拟单击smarticon按钮。我认为如果工具栏总是在同一个地方,它会是一致的

显而易见的方法是按“ALT-A-Y-R”(回复所有有历史记录的人)或“ALT-A-Y-E”(回复所有有历史记录的人+附件)

按ALT-A将显示操作菜单上每个菜单选项的热键。如果您不使用英文版本,则可能是不同的字符

使用上面有用的“Alt a-y-r”方法,我只编写了一个小小的自动热键脚本,将Alt+r和Alt+l映射到常见用法:

#IfWinActive Mail - Inbox - IBM Lotus Notes
  !l:: Send {Alt}ayr
  !r:: Send {Alt}ape
return
基本的,但它适用于我90%的使用。我将使用此方法为所有内容创建热键。

我从以下内容开始:

#IfWinActive Mail - Inbox - IBM Lotus Notes
  !l:: Send {Alt}ayr
  !r:: Send {Alt}ape
return
但也包括:

#IfWinActive ahk_class SWT_Window0
  !l:: Send {Alt}ayr
  !r:: Send {Alt}ape
  !1::
  !S:: Send !1
return

以上是为了方便快捷方式的使用,即使是在有自己窗口的邮件中。。。这里的标题文本是不同的。希望它有帮助

这里是我创建的自动热键快捷方式,与上面提到的类似。我使用outlook中我记得的热键作为它们的基础:

IfWinActive, IBM Lotus Notes
{

  #IfWinActive New Message
  {
    ^Enter::
    SendInput, !1
    return
  }

  #IfWinActive, Inbox
  {
    ^r::
    SendInput, !C+E
    return

    ^+r::
    SendInput, !A+Y+R
    return
  }
}

我正在使用Notes 8.5,顺便说一句。

我发现自己在这里适应Outlook的Ctrl+R和Ctrl+Shift+R来回复或回复所有邮件,并寻找一种方法,通过合理的按键次数回复电子邮件

我发现通过单击文件>首选项,有一个选项称为:

启用备用键盘快捷键(例如Ctrl+R=Reply)


这解决了我的大部分问题。使用Notes9。

我倾向于使用AutoIt,但窗口的自动化确实值得追求。您说过使用AutoHotkey会遇到计时问题,您可以使用很多方法来完全修复计时问题。但是,如果你有一个COM接口,它可以做你想做的事情:那么这可能是最可靠的方法。我创建了一个AutoIt来通过COM调用代理。运行代理对象没有做任何事情(没有错误),但是我可以告诉您代理被调用了。NotesAgent.Run()方法的帮助说明:不能在该方法调用的代理中使用Notes UI类。这可能就是问题所在。因此,我创建了一个smarticon,AutoIt脚本可以用鼠标单击它(如上面Ken所述)。不是很优雅,但是这个解决方案对我来说运行可靠。