使用VBA在SAP中选择布局时出现问题

2020-08-23 19:58发布

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

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


大家好,

我正在尝试使用VBA在SAP中选择特定的布局。

到目前为止,这是我的代码:

子SAPGUI()
 '此代码替换了顶部的原始SAP记录信息
 昏暗的SapGuiAuto
     昏暗的SetApp
     暗淡的连接
     点心会议
     设置SapGuiAuto = GetObject(" SAPGUI")
     设置SetApp = SapGuiAuto.GetScriptingEngine
     设置连接= SetApp.Children(0)
     设置会话= Connection.Children(0)
     Session.findById(" wnd [0]")。maximize
 '这是SAP记录的信息
 Session.findById(" wnd [0]")。maximize
 Session.findById(" wnd [0]/tbar [0]/okcd")。Text =" MB51"
 Session.findById(" wnd [0]")。sendVKey 0
 Session.findById(" wnd [0]")。maximize
 Session.findById(" wnd [0]/tbar [0]/okcd")。Text =" MB51"
 Session.findById(" wnd [0]")。sendVKey 0
 Session.findById(" wnd [0]/usr/ctxtWERKS-LOW")。Text = Range(" A3")
 Session.findById(" wnd [0]/usr/ctxtWERKS-HIGH")。Text = Range(" A3")
 Session.findById(" wnd [0]/usr/ctxtLGORT-LOW")。Text =" WVSF"
 Session.findById(" wnd [0]/usr/ctxtBWART-LOW")。Text =" 311"
 Session.findById(" wnd [0]/usr/ctxtBWART-HIGH")。Text =" 311"
 Session.findById(" wnd [0]/usr/ctxtBUDAT-LOW")。Text = Range(" A1")
 Session.findById(" wnd [0]/usr/ctxtBUDAT-HIGH")。Text = Range(" A2")
 Session.findById(" wnd [0]/usr/ctxtBUDAT-HIGH")。SetFocus
 Session.findById(" wnd [0]/usr/ctxtBUDAT-HIGH")。caretPosition = 9
 Session.findById(" wnd [0]/tbar [1]/btn [8]")。press
 Session.findById(" wnd [0]/tbar [1]/btn [48]")。press
 Session.findById(" wnd [0]")。maximize
 Session.findById(" wnd [0]/mbar/menu [3]/menu [2]/menu [1]")。select
 设置布局= Session.findById(" wnd [1]/usr/ssubD0500_SUBSCREEN:SAPLSLVC_DIALOG:0501/cntlG51_CONTAINER/shellcont/shell")
 行数= Layout.RowCount()
 对于i = 0到行-1
   LayoutVariant = Layout.getCellValue(i," VARIANT")
   如果LayoutVariant =" 981-982 Spreadsheet Revised",则
     Layout.currentCellRow = i
     Layout.clickCurrentCell
     退出
   万一
 下一个
 Session.findById(" wnd [0]/mbar/menu [0]/menu [1]/menu [1]")。select
 结束子









 它可以正常工作直到以下部分:

 行数= Layout.RowCount()

 这里给出了错误:
 没有足够的内存来完成此操作。
 尝试使用较少的数据或关闭其他应用程序。
 增加...

 也:

 运行时错误" 1004":
 应用程序定义或对象定义的错误

 该代码使SAP中的选择布局框打开,然后开始搜索后就失败了,我认为呢?

 任何帮助都将是极好的。



 

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

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


大家好,

我正在尝试使用VBA在SAP中选择特定的布局。

到目前为止,这是我的代码:

子SAPGUI()
 '此代码替换了顶部的原始SAP记录信息
 昏暗的SapGuiAuto
     昏暗的SetApp
     暗淡的连接
     点心会议
     设置SapGuiAuto = GetObject(" SAPGUI")
     设置SetApp = SapGuiAuto.GetScriptingEngine
     设置连接= SetApp.Children(0)
     设置会话= Connection.Children(0)
     Session.findById(" wnd [0]")。maximize
 '这是SAP记录的信息
 Session.findById(" wnd [0]")。maximize
 Session.findById(" wnd [0]/tbar [0]/okcd")。Text =" MB51"
 Session.findById(" wnd [0]")。sendVKey 0
 Session.findById(" wnd [0]")。maximize
 Session.findById(" wnd [0]/tbar [0]/okcd")。Text =" MB51"
 Session.findById(" wnd [0]")。sendVKey 0
 Session.findById(" wnd [0]/usr/ctxtWERKS-LOW")。Text = Range(" A3")
 Session.findById(" wnd [0]/usr/ctxtWERKS-HIGH")。Text = Range(" A3")
 Session.findById(" wnd [0]/usr/ctxtLGORT-LOW")。Text =" WVSF"
 Session.findById(" wnd [0]/usr/ctxtBWART-LOW")。Text =" 311"
 Session.findById(" wnd [0]/usr/ctxtBWART-HIGH")。Text =" 311"
 Session.findById(" wnd [0]/usr/ctxtBUDAT-LOW")。Text = Range(" A1")
 Session.findById(" wnd [0]/usr/ctxtBUDAT-HIGH")。Text = Range(" A2")
 Session.findById(" wnd [0]/usr/ctxtBUDAT-HIGH")。SetFocus
 Session.findById(" wnd [0]/usr/ctxtBUDAT-HIGH")。caretPosition = 9
 Session.findById(" wnd [0]/tbar [1]/btn [8]")。press
 Session.findById(" wnd [0]/tbar [1]/btn [48]")。press
 Session.findById(" wnd [0]")。maximize
 Session.findById(" wnd [0]/mbar/menu [3]/menu [2]/menu [1]")。select
 设置布局= Session.findById(" wnd [1]/usr/ssubD0500_SUBSCREEN:SAPLSLVC_DIALOG:0501/cntlG51_CONTAINER/shellcont/shell")
 行数= Layout.RowCount()
 对于i = 0到行-1
   LayoutVariant = Layout.getCellValue(i," VARIANT")
   如果LayoutVariant =" 981-982 Spreadsheet Revised",则
     Layout.currentCellRow = i
     Layout.clickCurrentCell
     退出
   万一
 下一个
 Session.findById(" wnd [0]/mbar/menu [0]/menu [1]/menu [1]")。select
 结束子









 它可以正常工作直到以下部分:

 行数= Layout.RowCount()

 这里给出了错误:
 没有足够的内存来完成此操作。
 尝试使用较少的数据或关闭其他应用程序。
 增加...

 也:

 运行时错误" 1004":
 应用程序定义或对象定义的错误

 该代码使SAP中的选择布局框打开,然后开始搜索后就失败了,我认为呢?

 任何帮助都将是极好的。



 
付费偷看设置
发送
1条回答
我是小鹏鹏啊
1楼-- · 2020-08-23 20:01

错误来自尝试在vba中使用名为"行"的变量

将"行"更改为其他变量,例如" rowCount"

一周热门 更多>