繁体   English   中英

VBA Excel SSO到SAP /运行时错误70“访问被拒绝”

[英]VBA Excel SSO to SAP / runtime error 70 “access denied”

我花了几个小时来查找问题。 我想使用ini文件启动SAP Logonpad,效果很好。 然后,绑定到脚本对象后,我想使用connection = SapGui.OpenConnection(“ SID”,True)打开与特定系统的连接,但始终会遇到运行时错误70访问被拒绝的情况。

我遵循了其他人似乎对vbs所做的事情,对于某些共振,我无法对vbs做到这一点,而不得不与vba一起使用,所以也许可能会有一些差异使它失败?

任何建议将不胜感激。

    Private Sub CommandButton1_Click()


    Dim SapGui As Object

    Dim saplogon As Object

    Dim connection 'As Object



    Set SapGui = GetObject("SAPGUI")


    Dim Wshshell As Object


    Set Wshshell = CreateObject("Wscript.Shell")

    Wshshell.Run Chr(34) & ("C:\Program Files\SAPPC\FrontEnd\SAPgui
    \saplogon.exe") & Chr(34) & " " & "/INI_FILE" & "=" & Chr(34) & 
    "\\longpathtoini\appl\Sap\saplogon\int\saplogon.ini" & Chr(34)

        Do Until Wshshell.AppActivate("SAP Logon")
            Application.Wait Now + TimeValue("0:00:01")
        Loop

    Set Wshell = Nothing


    Set saplogon = SapGui.GetScriptingEngine

    connection = SapGui.OpenConnection("SID", True)


    Set SapGui = Nothing

    Set saplogon = Nothing

    Set connection = Nothing


    End Sub

检查特定系统是否允许用户编写脚本(事务RZ11 ,参数sapgui/user_scripting )。 另请注意,对于某些版本,您显然需要指定SAP登录条目文本而不是SID。

感谢vwegert。

我当然知道需要在服务器上启用脚本。 是的,但是在阅读他的答案时,我记得在我的SAP GUI设置中启用了“警告脚本是否尝试连接”复选框。

否认选择确实导致成功。

上面的代码工作完美。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM