excel - 发现要使用的 SAP 事务字段的组件标识符

标签 excel vba scripting sap-gui

通过大量谷歌搜索,我设法连接到 SAP 并从 VBA 代码打开事务。这不是问题的一部分,所以我不会在这里包括它。

我的问题如下:现在我已经打开了事务,我想从我的代码中将值输入到事务的字段中。

我假设这是通过类似于以下的代码完成的:

session.findById("wnd[0]/usr/ctxtVendor").Text

但是,/usr/ctxtVendor 部分显然是错误的。如果我理解正确,这在公司的基础上是非常不同的。

一种解决方案是使用“SAP Script Recording & Playback”实用程序来生成 VBA 代码并提取变量名。不幸的是,我无权使用它,而且我不会很快使用它,所以这不是一个选择。

编辑:I found a second solution:但似乎我无法访问它。

是否有其他方法可以发现此交易和其他交易的标识符?

感谢您阅读并希望提供答案。

最佳答案

对不起,我给了你关于 VBA 脚本名称的错误信息。使您的窗口成为如下变量:

Dim window As SAPFEWSELib.GuiFrameWindow
Set window = session.FindById("wnd[0]")

然后在 VBEditor 中转到 Locals 窗口,并在此处查看:

enter image description here

对我来说,/usr 区域是窗口子项的第 5 项,打开它并查找列出的所有字段。您可以使用提供的路径。例如。下面我打开了第 2 项,即帐号,您会在 Id 属性中看到所需的字符串。

enter image description here

然后你像这样使用它:
window.FindById("usr/ctxtRACCT-LOW").Text = "A123456"

关于excel - 发现要使用的 SAP 事务字段的组件标识符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50527937/

相关文章:

vba - 单个 Action 仅发生在循环的最后一个实例上(但循环中的其余 Action 按预期工作)

excel - 将交替公式插入同一列

excel - 将网站导入/抓取到 excel

c# - 针对 Excel 列循环遍历 SQL 数据库列的最快方法 - C#

javascript - "Access is denied"通过在 Windows XP x64 上使用 JScript 执行 .hta 文件

excel - 如果字符串是数字,则将字符串转换为 int

excel - 如何在Excel中的数组公式中进行逐行求和?

excel - VBA 在 Word 对象上使用 Excel 版本的“查找”?

linux - 在行字符串中找到最大数并显示两列 - linux

windows - 如何在 Windows 批处理脚本中将 %USERNAME% 的值转换为小写?