簡體   English   中英

如何使用 SAP GUI 腳本自動禁用 Excel 顯示

[英]How to disable the Excel display with SAP GUI Scripting automatically

我最近發現了 SAP GUI 腳本。 首先,我開始記錄簡單的交易,因為我想測試是否可以在具有不同 Windows 和 SAP 用戶的不同 PC 上執行腳本。 在測試階段,我遇到了一個更大的問題。

在我的公司,每個用戶都有 Office 集成,它允許您在 SAP 中顯示(如利潤中心報告)Excel 文檔。 此顯示設置將永久保存。

現在的主要問題是,如果您在 Excel 顯示未激活的情況下記錄腳本,而其他一些用戶在 Excel 顯示激活的情況下執行腳本,則腳本將無法處理

通常我通過以下方式手動禁用 Excel 顯示設置:

  • 點擊系統 -> 用戶默認 -> 個人設置 -> 參數 -> G_RW_DOCUMENT_TYPE 的參數值從 XLS 到 0

我試圖用 SAP GUI 腳本記錄器記錄這個過程,但它沒有記錄整個過程。

只記錄這個

session.findById("wnd[0]").maximize
session.findById("wnd[0]/mbar/menu[4]/menu[2]/menu[3]").select

腳本不記錄參數值的變化

有沒有辦法(通過添加代碼行等)自動禁用 Excel 顯示設置從活動到非活動?

SAP GUI 腳本記錄器僅在第一種模式下記錄命令。 命令后

session.findById("wnd[0]/mbar/menu[4]/menu[2]/menu[3]").select

開啟新模式。

但是您也可以直接開始交易並保持在第一種模式。

例如:

session.findById("wnd[0]/tbar[0]/okcd").text = "/nsu3"
session.findById("wnd[0]").sendVKey 0

現在你知道了,這個問題可以解決如下:

session.findById("wnd[0]").maximize
session.findById("wnd[0]/tbar[0]/okcd").text = "/nsu3"
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/usr/tabsTABSTRIP1/tabpPARAM").select
session.findById("wnd[0]/usr/tabsTABSTRIP1/tabpPARAM/ssubMAINAREA:SAPLSUID_MAINTENANCE:1104/cntlG_PARAMETER_CONTAINER/shellcont/shell").pressToolbarButton "&FIND"
session.findById("wnd[1]/usr/chkGS_SEARCH-EXACT_WORD").selected = true
session.findById("wnd[1]/usr/txtGS_SEARCH-VALUE").text = "G_RW_DOCUMENT_TYPE"
session.findById("wnd[1]/usr/chkGS_SEARCH-EXACT_WORD").setFocus
session.findById("wnd[1]/tbar[0]/btn[0]").press
session.findById("wnd[1]").close

myRow = session.findById("wnd[0]/usr/tabsTABSTRIP1/tabpPARAM/ssubMAINAREA:SAPLSUID_MAINTENANCE:1104/cntlG_PARAMETER_CONTAINER/shellcont/shell").currentCellRow
session.findById("wnd[0]/usr/tabsTABSTRIP1/tabpPARAM/ssubMAINAREA:SAPLSUID_MAINTENANCE:1104/cntlG_PARAMETER_CONTAINER/shellcont/shell").modifyCell myRow,"PARVA","0"      'instead of "XLS"
session.findById("wnd[0]/usr/tabsTABSTRIP1/tabpPARAM/ssubMAINAREA:SAPLSUID_MAINTENANCE:1104/cntlG_PARAMETER_CONTAINER/shellcont/shell").currentCellColumn = "PARVA"
session.findById("wnd[0]/tbar[0]/btn[11]").press

問候, ScriptMan

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM