【问题标题】:How to vary the file saving path of an SAP script using VBA?如何使用 VBA 更改 SAP 脚本的文件保存路径?
【发布时间】:2019-06-25 13:03:30
【问题描述】:

我有一个脚本保存在一个文件夹中,除了我不知道如何修改路径之外,如果其他人想使用我的代码,我想改变路径。

   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 中录制宏时,您需要“更改”所有相关字段,删除一个字母并再次添加就足够了,所有字段都显示在宏中。我猜你使用的是默认路径?对于每个用户来说,这应该是相同的,当然除了 windows 配置文件名称。
  • 是的,我做了,但是我找不到文件的记录行。不,这是我自己的路径,而不是默认路径。

标签: excel vba sap


【解决方案1】:

正如评论中所提到的,在 SAP 中录制宏时,更改或至少单击要更改的每个字段至关重要。这样on就有了字段名的记录。

我对路径字段的有根据的猜测是:

objSess.FindById("wnd[1]/usr/ctxtDY_PATH").Text

我建议你重新录制宏,因为名称可能会根据 SAP 中的上下文略有不同,尤其是当时打开的窗口数量可能会有所不同。

PS:.CaretPosition 是光标在文本字段中从左边算起的字母数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-06
    • 1970-01-01
    • 2012-01-21
    • 1970-01-01
    • 2018-08-03
    相关资源
    最近更新 更多