如何复制带有许多字符的文本以在SAP中的注释中插入?
我有此VBA代码将细胞从Excel文件连接到SAP(SAP H4 HANA)。
Sub number_twelve()
Set SapGuiAuto = GetObject("SAPGUI")
Set objGui = SapGuiAuto.GetScriptingEngine
Set objConn = objGui.Children(0)
Set session = objConn.Children(0)
Dim sht As Worksheet
Set sht = Sheet2
session.findById("wnd[0]").maximize
session.findById("wnd[0]/tbar[0]/okcd").Text = "/nfb70"
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[1]/usr/ctxtBKPF-BUKRS").Text = "3800"
session.findById("wnd[1]/usr/ctxtBKPF-BUKRS").caretPosition = 4
session.findById("wnd[1]/tbar[0]/btn[0]").press
session.findById("wnd[0]/usr/tabsTS/tabpMAIN/ssubPAGE:SAPLFDCB:0510/ctxtINVFO-ACCNT").Text =
sht.Range("B18").Value
session.findById("wnd[0]/usr/tabsTS/tabpMAIN/ssubPAGE:SAPLFDCB:0510/ctxtINVFO-BLDAT").SetFocus
session.findById("wnd[0]/usr/tabsTS/tabpMAIN/ssubPAGE:SAPLFDCB:0510/ctxtINVFO-
BLDAT").caretPosition = 0
session.findById("wnd[0]").sendVKey 4
session.findById("wnd[1]/tbar[0]/btn[0]").press
session.findById("wnd[0]/usr/tabsTS/tabpMAIN/ssubPAGE:SAPLFDCB:0510/txtINVFO-WRBTR").Text =
sht.Range("I18").Value
session.findById("wnd[0]/usr/tabsTS/tabpMAIN/ssubPAGE:SAPLFDCB:0510/chkINVFO-XMWST").SetFocus
session.findById("wnd[0]/usr/tabsTS/tabpMAIN/ssubPAGE:SAPLFDCB:0510/chkINVFO-XMWST").Selected
= True
session.findById("wnd[0]/usr/tabsTS/tabpMAIN/ssubPAGE:SAPLFDCB:0510/cmbINVFO-MWSKZ").SetFocus
session.findById("wnd[0]/usr/tabsTS/tabpMAIN/ssubPAGE:SAPLFDCB:0510/cmbINVFO-MWSKZ").Key =
"NS"
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/usr/subITEMS:SAPLFSKB:0100/tblSAPLFSKBTABLE/ctxtACGL_ITEM-
HKONT[1,0]").Text = sht.Range("G18").Value
session.findById("wnd[0]/usr/subITEMS:SAPLFSKB:0100/tblSAPLFSKBTABLE/txtACGL_ITEM-
WRBTR[4,0]").Text = sht.Range("I18").Value
session.findById("wnd[0]/usr/subITEMS:SAPLFSKB:0100/tblSAPLFSKBTABLE/ctxtACGL_ITEM-
KOSTL[17,0]").Text = sht.Range("H18").Value
session.findById("wnd[0]/usr/subITEMS:SAPLFSKB:0100/tblSAPLFSKBTABLE/btnACGL_ITEM-
EOBJ[35,0]").SetFocus
session.findById("wnd[0]/usr/subITEMS:SAPLFSKB:0100/tblSAPLFSKBTABLE/btnACGL_ITEM-
EOBJ[35,0]").press
session.findById("wnd[1]/usr/sub:SAPLKEAK:0400/ctxtRKEAK-FIELD[0,24]").Text =
sht.Range("B18").Value
session.findById("wnd[1]/usr/sub:SAPLKEAK:0400/ctxtRKEAK-FIELD[0,24]").caretPosition = 7
session.findById("wnd[1]/tbar[0]/btn[0]").press
session.findById("wnd[0]/usr/subITEMS:SAPLFSKB:0100/tblSAPLFSKBTABLE/btnACGL_ITEM-
LTEXT[12,0]").SetFocus
session.findById("wnd[0]/usr/subITEMS:SAPLFSKB:0100/tblSAPLFSKBTABLE/btnACGL_ITEM-
LTEXT[12,0]").press
session.findById("wnd[1]/usr/subNOTICE:SAPLEENO:1001/btnEENO_TEXTE-EDITOR").press
End Sub
在SAP中,定义的交易是用于发布借记说明,因此要填写的字段之一是您想说借记注释的文本字段。碰巧的是,由于文本有很多字符,我需要在“注释”中写下。 但是,当我保存脚本时,TXT文件会生成以下行(按照上面显示的代码):
session.findById("wnd[0]/usr/cntlSCMSW_CONTAINER_2102/shellcont/shell").setDocument 1,"e1xydGYxXGFkZWZsYW5nMTAyNVxhbnNpXGFuc2ljcGcxMjUyXHVjMVxhZGVmZjBcZGVmZjBcc3RzaGZkYmNoMFxzdHNoZmxvY2gzN1xzdHNoZmhWRpIFxmcm9tYW5cZmNoYXJzZXQwXGZwcnEye1wqXHBhbm9zZSAwMjAyMDYwMzA1MDQwNTAyMDMwNH1UaW1lcyBOZXcgUm9tYW47fXtcZmhpbWFqb3JcZjMxNTAyXGZiaWRpIFxmc3dpc3NcZmNoYXJzZXQwXGZwcnEye1wqXHBhbm9zZSAwMjBmMDMw"
有人可以帮助我吗?在最后一行我应该改变什么? 我在Excel文件中有一个带有文本的单元格(J18),
当我记录脚本时,当我开始编写注释时,我总是会收到此通知:
附件:
I have this VBA Code that links cells from an Excel file to SAP (SAP H4 HANA).
Sub number_twelve()
Set SapGuiAuto = GetObject("SAPGUI")
Set objGui = SapGuiAuto.GetScriptingEngine
Set objConn = objGui.Children(0)
Set session = objConn.Children(0)
Dim sht As Worksheet
Set sht = Sheet2
session.findById("wnd[0]").maximize
session.findById("wnd[0]/tbar[0]/okcd").Text = "/nfb70"
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[1]/usr/ctxtBKPF-BUKRS").Text = "3800"
session.findById("wnd[1]/usr/ctxtBKPF-BUKRS").caretPosition = 4
session.findById("wnd[1]/tbar[0]/btn[0]").press
session.findById("wnd[0]/usr/tabsTS/tabpMAIN/ssubPAGE:SAPLFDCB:0510/ctxtINVFO-ACCNT").Text =
sht.Range("B18").Value
session.findById("wnd[0]/usr/tabsTS/tabpMAIN/ssubPAGE:SAPLFDCB:0510/ctxtINVFO-BLDAT").SetFocus
session.findById("wnd[0]/usr/tabsTS/tabpMAIN/ssubPAGE:SAPLFDCB:0510/ctxtINVFO-
BLDAT").caretPosition = 0
session.findById("wnd[0]").sendVKey 4
session.findById("wnd[1]/tbar[0]/btn[0]").press
session.findById("wnd[0]/usr/tabsTS/tabpMAIN/ssubPAGE:SAPLFDCB:0510/txtINVFO-WRBTR").Text =
sht.Range("I18").Value
session.findById("wnd[0]/usr/tabsTS/tabpMAIN/ssubPAGE:SAPLFDCB:0510/chkINVFO-XMWST").SetFocus
session.findById("wnd[0]/usr/tabsTS/tabpMAIN/ssubPAGE:SAPLFDCB:0510/chkINVFO-XMWST").Selected
= True
session.findById("wnd[0]/usr/tabsTS/tabpMAIN/ssubPAGE:SAPLFDCB:0510/cmbINVFO-MWSKZ").SetFocus
session.findById("wnd[0]/usr/tabsTS/tabpMAIN/ssubPAGE:SAPLFDCB:0510/cmbINVFO-MWSKZ").Key =
"NS"
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/usr/subITEMS:SAPLFSKB:0100/tblSAPLFSKBTABLE/ctxtACGL_ITEM-
HKONT[1,0]").Text = sht.Range("G18").Value
session.findById("wnd[0]/usr/subITEMS:SAPLFSKB:0100/tblSAPLFSKBTABLE/txtACGL_ITEM-
WRBTR[4,0]").Text = sht.Range("I18").Value
session.findById("wnd[0]/usr/subITEMS:SAPLFSKB:0100/tblSAPLFSKBTABLE/ctxtACGL_ITEM-
KOSTL[17,0]").Text = sht.Range("H18").Value
session.findById("wnd[0]/usr/subITEMS:SAPLFSKB:0100/tblSAPLFSKBTABLE/btnACGL_ITEM-
EOBJ[35,0]").SetFocus
session.findById("wnd[0]/usr/subITEMS:SAPLFSKB:0100/tblSAPLFSKBTABLE/btnACGL_ITEM-
EOBJ[35,0]").press
session.findById("wnd[1]/usr/sub:SAPLKEAK:0400/ctxtRKEAK-FIELD[0,24]").Text =
sht.Range("B18").Value
session.findById("wnd[1]/usr/sub:SAPLKEAK:0400/ctxtRKEAK-FIELD[0,24]").caretPosition = 7
session.findById("wnd[1]/tbar[0]/btn[0]").press
session.findById("wnd[0]/usr/subITEMS:SAPLFSKB:0100/tblSAPLFSKBTABLE/btnACGL_ITEM-
LTEXT[12,0]").SetFocus
session.findById("wnd[0]/usr/subITEMS:SAPLFSKB:0100/tblSAPLFSKBTABLE/btnACGL_ITEM-
LTEXT[12,0]").press
session.findById("wnd[1]/usr/subNOTICE:SAPLEENO:1001/btnEENO_TEXTE-EDITOR").press
End Sub
In sap, the transaction defined is for posting debit notes, and so one of the fields to fill in is a text field where you want to say what the debit note is about. It happens that as the text has many characters, I need to write in the "notes".
However, when I save the script, the txt file generates me the following line (following the code shown above):
session.findById("wnd[0]/usr/cntlSCMSW_CONTAINER_2102/shellcont/shell").setDocument 1,"e1xydGYxXGFkZWZsYW5nMTAyNVxhbnNpXGFuc2ljcGcxMjUyXHVjMVxhZGVmZjBcZGVmZjBcc3RzaGZkYmNoMFxzdHNoZmxvY2gzN1xzdHNoZmhWRpIFxmcm9tYW5cZmNoYXJzZXQwXGZwcnEye1wqXHBhbm9zZSAwMjAyMDYwMzA1MDQwNTAyMDMwNH1UaW1lcyBOZXcgUm9tYW47fXtcZmhpbWFqb3JcZjMxNTAyXGZiaWRpIFxmc3dpc3NcZmNoYXJzZXQwXGZwcnEye1wqXHBhbm9zZSAwMjBmMDMw"
Can anyone help me? What should I change in that last line?
I have in the Excel file a cell with the text (J18)
when I record the script, when I start writing the note, I always get this notification:
attachment:
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论