【问题标题】:How to vary data using SAP and vba?如何使用 SAP 和 vba 改变数据?
【发布时间】:2019-05-15 11:51:15
【问题描述】:

首先,我能够将 SAP GUI 连接到 vba。我设法得到了一个有效的脚本,它向我发送了一个自动交易。我想知道如何在 SAP 上输入数据,例如日期是可变的,因为我每年都必须更改日期?

   If Not IsObject(application) Then
   Set SapGuiAuto  = GetObject("SAPGUI")
   Set application = SapGuiAuto.GetScriptingEngine
   End If
   If Not IsObject(connection) Then
   Set connection = application.Children(0)
   End If
   If Not IsObject(session) Then
   Set session    = connection.Children(0)
   End If
    If IsObject(WScript) Then
    WScript.ConnectObject session,     "on"
     WScript.ConnectObject application, "on"
    End If 
   session.findById("wnd[0]/usr/tabsTABSTRIP_TABBL1/
 tabpUCOM1/ssub%_SUBSCREEN_TABBL1:RFBILA00:0001/txtBILBJAHR").text = "2015"

例如,我希望“2015”日期是可变的,我希望每个月都可以更改此日期以放置另一个日期,而无需再次在 SAP GUI 上开始提取。

【问题讨论】:

    标签: excel vba sap-gui


    【解决方案1】:

    像这样,你也应该缩进你的代码:

    Option Explicit
    Sub Test()
    
        Dim MyYear As String
    
        MyYear = Format(Date, "yyyy")
        If Not IsObject(Application) Then
            Set SapGuiAuto = GetObject("SAPGUI")
            Set Application = SapGuiAuto.GetScriptingEngine
        End If
    
        If Not IsObject(Connection) Then
            Set Connection = Application.Children(0)
        End If
    
        If Not IsObject(Session) Then
            Set Session = Connection.Children(0)
        End If
    
        If IsObject(WScript) Then
            WScript.ConnectObject Session, "on"
            WScript.ConnectObject Application, "on"
        End If
    
        Session.findById("wnd[0]/usr/tabsTABSTRIP_TABBL1/tabpUCOM1/ssub%_SUBSCREEN_TABBL1:RFBILA00:0001/txtBILBJAHR").Text = MyYear
    
    End Sub
    

    【讨论】:

    • 哦,非常感谢,当我想为我的用户制作一个直观的界面时(我想放一个写有“日期?”的框)?
    • MyYear = Format(InputBox("Insert the date", "Date"), "yyyy") 这样,@user11503878
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-15
    相关资源
    最近更新 更多