การเขียนสคริปต์ SAP GUI: อ่านค่าเซลล์ในตัวควบคุมตาราง

ฉันต้องการอ่านค่าของเซลล์บนตาราง - ตัวอย่างธุรกรรม C202 ด้านล่าง

ฉันสามารถใช้ SAP GUI Scripting Recorder ไปที่ "check" หรือ "select" (row = 5, column = 1) ซึ่งอยู่ถัดจาก "0122" และ (row = 5, column = 1) ซึ่งอยู่ถัดจาก "0125"

มันให้รหัสง่ายๆแก่ฉัน:

''' selects 0122
session.findById("wnd[0]/usr/tabsTABSTRIP_RECIPE/tabpVOUE/ssubSUBSCREEN_RECIPE:SAPLCPDI:4401/tblSAPLCPDITCTRL_4401").getAbsoluteRow(4).selected = true

'''selects 0125
session.findById("wnd[0]/usr/tabsTABSTRIP_RECIPE/tabpVOUE/ssubSUBSCREEN_RECIPE:SAPLCPDI:4401/tblSAPLCPDITCTRL_4401").getAbsoluteRow(7).selected = true

อย่างไรก็ตาม จะแตกต่างกันไปตามแถวที่มีอยู่

บางครั้งจะมี:

0100, 0110, 0120, 0121, 0122, 0123, 0124, 0125, 0130, 0140
-sometimes there will be 0100, 0110, 0122, 0123, 0124, 0125, 0140
-sometimes there will be 0100, 0121, 0122, 0123, 0124, 0125, 0140
-sometimes there will be 0100, 0122, 0123, 0125, 0130, 0140
etc

ฉันต้องการอ่านคอลัมน์ = 2 เลยรู้ว่าเป็น 0122 หรือ 0125 แล้วตรวจสอบดู

ฉันจะใส่ค่านี้ในตัวแปรและใช้ msgbox เพื่อแสดงได้อย่างไร

PSEUDO CODE

dim readVariable as string

for row = 1 to NumberOfRows
      readVariable = Table.Read (row,2)
         if readVariable = 0122
            msgbox "row = " & row " & " is 0122"
         end if
         if readVariable = 0125
            msgbox "row = " & row " & " is 0125"
         end if
next

ฉันลองติดตาม ลิงก์แต่ทำไม่ได้ งาน.

ขอบคุณมาก!!!

ป้อนคำอธิบายรูปภาพที่นี่


person Eduardo GS    schedule 19.12.2019    source แหล่งที่มา
comment
เมื่อใช้เครื่องบันทึก หากคุณวางตำแหน่งเครื่องหมายรูปหมวก (เคอร์เซอร์ข้อความ) ในช่อง เช่น ที่อักขระตัวแรก ไฟล์ VBS ที่สร้างขึ้นจะมีบางอย่างเช่น session.findById("<the field ID>").caretPosition = 1 ดังนั้น VBS ของคุณเองจึงสามารถใช้ ID นี้: msgbox session.findById("<the field ID>").text   -  person Sandra Rossi    schedule 19.12.2019
comment
ขอบคุณเป็นล้าน ซานดร้า รอสซี! มันได้ผล! อ่านว่า 0110 การเปรียบเทียบ msgbox *** = 0110, msgbox *** = 110 และ msgbox *** = 0110 ส่งกลับ TRUE (เฉพาะ msgbox *** = 110 ส่งกลับ FALSE) ขอบคุณ! ได้รับการยอมรับว่าเป็น VALUE ใช่ไหม เนื่องจาก msgbox *** + 1 ส่งคืนค่า 111 ฉันจะอ่านเป็นสตริงได้อย่างไร @แซนดร้ารอสซี   -  person Eduardo GS    schedule 19.12.2019
comment
คุณสมบัติ text จะเป็นสตริงเสมอ ฉันเดาว่าการเพิ่ม 1 หมายถึงการแปลงประเภทตามโมเดลประเภท VBScript   -  person Sandra Rossi    schedule 20.12.2019


คำตอบ (1)


ใช้ '&' แทนเครื่องหมาย + แล้วคุณจะได้ 01101 เนื่องจาก VBS จะถือว่าการแปลงถูกส่งไปยังประเภทสตริง และจะเชื่อมสตริงของคุณด้วย "1" แทนการแยกวิเคราะห์สตริงของคุณเป็นตัวแปรประเภทหลักเพื่อเพิ่ม 1 .

person Kacper Witos    schedule 27.12.2019