3

我使用 IBM Personal Communications 12.0.3.0 的宏记录器制作了凭据输入宏。它只是在调用时输入我的用户名和密码。

sub Credentials()

   Dim username
   Dim password

   username = "myUser"
   password = "myPass"


   autECLSession.autECLOIA.WaitForAppAvailable
   autECLSession.autECLOIA.WaitForInputReady

   autECLSession.autECLPS.SendKeys username
   autECLSession.autECLPS.SendKeys "[enter]"

   autECLSession.autECLOIA.WaitForAppAvailable
   autECLSession.autECLOIA.WaitForInputReady

   autECLSession.autECLPS.SendKeys password
   autECLSession.autECLPS.SendKeys "[enter]"

end sub

在其他工作流程中,我经常需要多次输入我的用户名/密码才能在窗口之间切换,所以我认为这些较新的宏在Credentials()出现这种类型的提示时调用会更简单。我还必须经常更改我的大型机密码,所以只在Credentials()宏中替换一次密码文本是理想的。

这是我想使用存储Credentials()过程的示例:

sub Login()

   autECLSession.autECLOIA.WaitForAppAvailable
   autECLSession.autECLOIA.WaitForInputReady

   autECLSession.autECLPS.SendKeys "server name"
   autECLSession.autECLPS.SendKeys "[enter]"

   autECLSession.autECLOIA.WaitForAppAvailable

   autECLSession.autECLPS.StartMacro "Credentials"

end sub

我的问题存在于线路中autECLSession.autECLPS.StartMacro "Credentials"。在我尝试使用更经典的 vbscript 命令来运行宏的其他尝试中,我会收到执行错误,但是使用该... .StartMacro "Creds"行 -没有任何反应


根据IBM 的此文档,该StartMacro(String MacroName)方法应运行位于MacroName参数指示的 PCOMM 用户类应用程序数据目录中的宏文件。我将这两个宏作为单独.mac的文件存储在用户类应用程序数据目录 ( "C:\Users\%USERNAME%\AppData\Roaming\IBM\PersonalCommunications") 中,如此处在 '典型安装' 下指定的那样。

这就是我所说的典型 vbs 尝试调用另一个宏(代替StartMacro())的意思:

'doesn't work
Shell "C:\Users\marcucciboy2\AppData\Roaming\IBM\Personal Communications\Credentials.mac" 

'neither works
dim ObjShell
Set objShell = CreateObject("WScript.Shell")
ObjShell.Run "cscript C:\Users\marcucciboy2\AppData\Roaming\IBM\Personal Communications\Credentials.mac"
'ObjShell.Run "cscript \\C:\Users\marcucciboy2\AppData\Roaming\IBM\Personal Communications\Credentials.mac"

这是我在研究中发现的两个相关问题,但不幸的是,它们都没有有效的答案。
任何意见,将不胜感激!

4

1 回答 1

0

您研究的第一个链接指出If (macro file) has an extension,您需要删除扩展名以便调用可以找到宏文件,或者将扩展名添加到调用语句 filename。您提到两者都是.mac文件,因此您可以尝试一下:

autECLSession.autECLPS.StartMacro "Credentials.mac" 
于 2019-09-26T15:26:27.470 回答