【问题标题】:End of statement VBA with SAP带有 SAP 的语句结束 VBA
【发布时间】:2019-06-13 21:02:18
【问题描述】:

我正在使用 conexion 执行宏,但错误“语句结束” 出现语法错误

我尝试重复 de 引号但不成功,其他错误 出现了

LINHA = 11
Cells(11, 1).Select

Cells(LINHA, 2).Value = session.findById("wnd[0]/usr/shell/shellcont[1]/shell[1]").Text"          2", "&Hierarchy"

【问题讨论】:

  • VBA 期望 .Text 终止语句;它不知道如何处理后面的" 2"", "&Hierarchy" 字符串。 .Text 后面少了一个逗号,可能吗?
  • 我刚试了,同样的错误发生
  • = session.findById("...").Text 是一个声明。我不知道您对代码行之外的其余部分的意思是什么 - 这是否意味着成为findById 的另一个参数?在这种情况下,它需要在 (...) 带括号的参数列表中。
  • 嗨,这将是 SAP 某个部分的路径,("wnd[0]/usr/shell/shellcont[1]/shell[1]").Text" 2", "&Hierarchy" = 它是 SAP 完成部分中的字段

标签: vba compiler-errors sap


【解决方案1】:

从语法上讲,你基本上有这个(取决于我们正在查看的帖子的哪个版本):

Object.Property = Object.Method(arguments).Property"some stray string literal", "another string literal"
                                                   ^ end of statement expected here

虽然这是法律声明:

Object.Property = Object.Method(arguments).Property

要么删除杂散的字符串文字,要么将其作为 findById 方法的参数的一部分 - 我不知道 SAP API,但是由于您正在针对它进行编码,因此您应该可以访问一些文档来解释什么预期的参数是。

这段代码会编译——我也不知道 SAP API 想要看到什么,所以它可能会在运行时崩溃,但至少它是合法代码:

ActiveSheet.Cells(LINHA, 2).Value = session.findById("wnd[0]/usr/shell/shellcont[1]/shell[1]", 2, "&Hierarchy").Text

【讨论】:

  • 您好,我尝试使用您的代码,但现在错误是:“参数数量错误或属性分配无效”。
  • 就像我说的,我没有 SAP 库,也不熟悉 SAP API - 如果这是编译时错误,则引用该库并调用 session 成员是早期绑定的 - 您可以在 findById 之后重新键入 ( 左括号或按 Ctrl+i 查看它所期望的参数,然后使用它。如果您不确定参数需要是什么,请查看findById 的 SAP API 文档。
猜你喜欢
  • 2022-01-22
  • 1970-01-01
  • 1970-01-01
  • 2021-12-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多