2016-05-15 25 views
0

問題を見つけるのに時間がかかります。 iniファイルを使用してSAP Logonpadを起動したいと思います。 その後、スクリプトオブジェクトに結合した後、私は接続して、特定のシステムへの接続を開きたい= SapGui.OpenConnection(「SID」、真) が、常に実行時エラー70アクセスが拒否されます。VBA Excel SSO to SAP /ランタイムエラー70「アクセスが拒否されました」

私は特定のresonsのために、私はVBSでそれを行うとVBAで行かなければならないので、多分それは失敗になり、いくつかの違いがあるかもしれないことはできない、VBSでやるように見えるものを他の人に続きますか?

アドバイスをいただければ幸いです。

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 

答えて

1

ユーザースクリプトは、特定のシステム(トランザクションRZ11、パラメータsapgui/user_scripting)のために許可されているかどうか確認してください。また、バージョンによっては、SIDの代わりにSAPログオンエントリテキストを指定する必要があることにも注意してください。

+0

サーバー上のスクリプトがアクティブです。私はちょうどスクリプトが接続する場合警告するSAP Guiの設定をオフにしました。奇妙なことですが、SAPシステムログオン画面を1回だけ開きました。今すぐ実行時エラー438が発生するオブジェクトは、このプロパティまたはメソッドをサポートしていません。 – JonSnow

0

vwegertのおかげで。私は確かに、スクリプトを知っていた

はサーバー上で有効にする必要があります。 私は彼の答えを読んでいる瞬間、私は自分のSAP GUI設定で "スクリプトが接続しようとすると警告する"というチェックボックスが有効になっていることを思い出しました。オプションは、成功にリードをしたことをDisabeling

上記のコードは完全に機能します。

関連する問題