如何使用 VBA 改变 SAP 脚本的文件保存路径?
How to vary the file saving path of an SAP script using VBA?
我有一个保存在文件夹中的脚本,但如果其他人想使用我的代码,我想改变路径,但我不知道如何修改路径。
objSess.FindById("wnd[0]").maximize
[...]
objSess.FindById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM2/
ssub%_SUBSCREEN_
TABBL1:RFBILA00:0002/ctxtBILAVART").caretPosition = 1
objSess.FindById("wnd[0]").sendVKey 4
objSess.FindById("wnd[1]").Close
objSess.FindById("wnd[0]/usr/tabsTABSTRIP_TABBL1/
tabpUCOM2/ssub%_SUBSCREEN_TAB BL1:RFBILA00:0002/ctxtBILAVART").Text ="1"
objSess.FindById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM2/
ssub%_SUBSCREEN_TABBL1:RFBILA00:0002/ctxtBILASKAL").Text = "0/0"
objSess.FindById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM2/
ssub%_SUBSCREEN_TABBL1:RFBILA00:0002/ctxtBILASKAL").SetFocus
objSess.FindById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM2/
ssub%_SUBSCREEN_TABBL1:RFBILA00:0002/ctxtBILASKAL").caretPosition = 3
objSess.FindById("wnd[0]/tbar[1]/btn[8]").Press
objSess.FindById("wnd[0]/mbar/menu[0]/menu[3]/menu[2]").Select
objSess.FindById("wnd[1]/tbar[0]/btn[0]").Press
objSess.FindById("wnd[1]/usr/ctxtDY_FILENAME").Text = text.txt
objSess.FindById("wnd[1]/usr/ctxtDY_FILENAME").caretPosition = 8
objSess.FindById("wnd[1]/tbar[0]/btn[11]").Press
事实上,我找不到改变路径的那一行(我保存了脚本
本地)
如评论中所述,在 SAP 中记录宏时,更改或至少单击要更改的每个字段至关重要。这样就有了字段名称的记录。
我对路径字段的有根据的猜测是:
objSess.FindById("wnd[1]/usr/ctxtDY_PATH").Text
建议大家重新录制宏,因为在SAP中根据上下文的不同,名称可能会略有不同,尤其是当时打开的windows个数可能会有所不同
PS:.CaretPosition
是从光标将在文本字段中定位的左侧算起的字母数。
我有一个保存在文件夹中的脚本,但如果其他人想使用我的代码,我想改变路径,但我不知道如何修改路径。
objSess.FindById("wnd[0]").maximize
[...]
objSess.FindById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM2/
ssub%_SUBSCREEN_
TABBL1:RFBILA00:0002/ctxtBILAVART").caretPosition = 1
objSess.FindById("wnd[0]").sendVKey 4
objSess.FindById("wnd[1]").Close
objSess.FindById("wnd[0]/usr/tabsTABSTRIP_TABBL1/
tabpUCOM2/ssub%_SUBSCREEN_TAB BL1:RFBILA00:0002/ctxtBILAVART").Text ="1"
objSess.FindById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM2/
ssub%_SUBSCREEN_TABBL1:RFBILA00:0002/ctxtBILASKAL").Text = "0/0"
objSess.FindById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM2/
ssub%_SUBSCREEN_TABBL1:RFBILA00:0002/ctxtBILASKAL").SetFocus
objSess.FindById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM2/
ssub%_SUBSCREEN_TABBL1:RFBILA00:0002/ctxtBILASKAL").caretPosition = 3
objSess.FindById("wnd[0]/tbar[1]/btn[8]").Press
objSess.FindById("wnd[0]/mbar/menu[0]/menu[3]/menu[2]").Select
objSess.FindById("wnd[1]/tbar[0]/btn[0]").Press
objSess.FindById("wnd[1]/usr/ctxtDY_FILENAME").Text = text.txt
objSess.FindById("wnd[1]/usr/ctxtDY_FILENAME").caretPosition = 8
objSess.FindById("wnd[1]/tbar[0]/btn[11]").Press
事实上,我找不到改变路径的那一行(我保存了脚本 本地)
如评论中所述,在 SAP 中记录宏时,更改或至少单击要更改的每个字段至关重要。这样就有了字段名称的记录。
我对路径字段的有根据的猜测是:
objSess.FindById("wnd[1]/usr/ctxtDY_PATH").Text
建议大家重新录制宏,因为在SAP中根据上下文的不同,名称可能会略有不同,尤其是当时打开的windows个数可能会有所不同
PS:.CaretPosition
是从光标将在文本字段中定位的左侧算起的字母数。