使用不可编写脚本的窗口进行SAP电子表格导出

2020-08-15 18:31发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我有一个代码,用于从带有...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我有一个代码,用于从带有不可脚本化的"另存为"窗口的查询中导出电子表格。 该代码的概念由 answers.sap.com 用户提供。 我的代码有2个问题。 你能请教吗?

这是导出代码的一部分:

"导出到电子表格-导出带有记录的记录时,记录了前2行,并且在运行良好时,打开了无法编写脚本的"另存为"窗口

session.FindById(" wnd [0]/usr/cntlCONTAINER/shellcont/shell")。pressToolbarContextButton"&MB_EXPORT" session.FindById(" wnd [0]/usr/cntlCONTAINER/shellcont/shell")。SelectContextMenuItem"&XXL "

"启动异步过程

设置WshShell = CreateObject(" WScript.Shell")WshShell.Run" C:\ Users \ AAA.LOGON \ Documents \ AAA \ ScriptCA.vbs"

'-Begin ------------------------------------------------------------ ---------------------

设置wshShell = CreateObject(" WScript.Shell")

WScript.Sleep 500

循环直到wshShell.AppActivate("另存为")= True

wshShell.Sendkeys"%nNA_SQ00FBL5N_CA10.XML"

'wshShell.Sendkeys"%nNA_SQ00FBL5N_CA10.XML%f"

'-End -------------------------------------------- -----------------------

问题1是我不知道如何使宏按下"保存"按钮,您的建议对我不起作用。

问题2是我在同一个宏中运行3个查询,我想以不同的名称导出XML格式的所有3个文件,并且引用了3个脚本。 运行宏文件时,文件名是随机填充的,而不是根据脚本填充的。 在我看来,第一个文件名被填充两次,然后第二个文件名而不是第三个文件名出现,如果我有第四个查询,第三个文件名也将出现。

5条回答
小熊yu生菜
2020-08-15 19:15

你好艾格尼丝,

欢迎使用SAP社区。


  1. wshShell.Sendkeys"%nNA_SQ00FBL5N_CA10.XML%f"行中。
    %f在打开的文件对话框中表示Öffnen。
    根据本地语言,您必须将其更改为快捷方式 保存按钮的形式,以德语%S

  2. 您并行启动3个脚本,所有3个脚本都等待标题为"另存为"的窗口。 现在,一个带有该标题的窗口打开,所有3个脚本在该窗口的文件名字段中并行写入。 您不能将这种方法用于这种要求,因为您没有标准来区分从哪个SAP会话打开哪个"另存为"对话框。
    也许可以检测到所有者,在这种情况下为"选择电子表格" 对话框,所有者,SAP会话。 我认为,最好按顺序而不是并行执行此工作流。

最好的问候
Stefan

一周热门 更多>