たぶん誰かがVBAのSAPののCreateSession
If Not IsObject(sap) Then
Set SapGuiAuto = GetObject("SAPGUI")
Set sap = SapGuiAuto.GetScriptingEngine
End If
If Not IsObject(Connection) Then
Set Connection = sap.Connections.Item(0)
End If
If Not IsObject(session) Then
Set session = Connection.Children(0)
End If
ほとんどの場合にこの1つの作業の罰金を、問題を理解するために、VBAエクセル
いくつかのコードを使用して、新しいSAPセッションを作成して私を助けることができます。しかし、時には、この部分は、SAPのタイムアウトが(いくつかのアイドル時間後に自動ログオフ)を発生した場合、それは例えば起こる
Set session = Connection.Children(0)
動作しません。その場合 は私が
sap.Connections.Count
= 2
しかし
Connection.Sessions.Count
= 0
タイムアウトし、接続がまだSAPのどこかにハングアップしたように見えます
私がしたいことは、新しいセッションを作成することです。 私はこの1つは、[OK]を動作しますが、それは私はまだ最初のセッションを設定する必要がクーゼを助けない
Dim sapSession As SAPFEWSELib.GuiSession
Dim sapCon As SAPFEWSELib.GuiConnection
Set sapCon = sap.Connections.Item(0)
Set sapSession = Connection.sessions.Item(0)
sapsession.createsession
によってこれを行うことができます
接続を設定した後、セッションを作成する方法はありますか?
何かのようにsapCon.createsession
そして、どのように私は変数を使用して特定のセッションを使用することができます知っていますか?
Set sapSession = Connection.sessions.Item(0)
これは、[OK]を動作しますが、私は
Dim SessionNumber as integer
....
SessionNumber = 0
Set sapSession = Connection.sessions.Item(SessionNumber)
をしようとすると、エラー「コレクションにアクセスするための不正なインデックス・タイプを」スロー
が戻ったばかりの、このようになったし、解決策は '' 設定しsapSession = Connection.sessions.Item(Cintの(SessionNumber))であります – Sphinx