我正在编写一个代码来通过Outlook自动执行某些SAPGUI任务,但我需要它在后台运行。
是否存在visible = false
选项?
如果没有,我该怎么办?
答案 0 :(得分:3)
谢谢大家。
我想通了,只需要添加
.findById("wnd[0]").iconify
再次感谢
答案 1 :(得分:0)
您可以在不显示Outlook UI的情况下从任何应用程序自动执行Outlook。有关详细信息,请参阅How to automate Outlook from another program。
另外,您可能会发现Using Automation to Send a Microsoft Outlook Message文章很有帮助。
答案 2 :(得分:0)
从我的expirience,我知道运行SAP脚本的两个选项,第一个是使用WScript.Shell,我知道有太多信息反对这个方法,尝试搜索它
Sub test()
Dim Wsh
Set Wsh = CreateObject("WScript.Shell").Run("C:\Users\USERNAME\Desktop\Script1.vbs")
End Sub
此方法允许在PC中启动应用程序,例如:
Sub test2()
Dim Wsh As Object
Set Wsh = CreateObject("WScript.Shell").Exec("calc.exe")
End Sub
第二个运行脚本,是在没有* .vbs文件的MS Office中从脚本启动代码,如下例所示
Option Explicit
Public SapGuiAuto As Object
Public ApplicationSAP As Object
Public Connection As Object
Public Session As Object
Sub start()
Set SapGuiAuto = GetObject("SAPGUI")
Set ApplicationSAP = SapGuiAuto.GetScriptingEngine
Set Connection = ApplicationSAP.Children(0)
Set Session = Connection.Children(0)
Session.findById("wnd[0]").maximize ' max main SAP window
Session.findById("wnd[0]/tbar[0]/okcd").Text = "/n" & "IW33" 'Transaction code
Session.findById("wnd[0]").sendVKey 0 'start transaction
End Sub
我希望它能帮助您进一步搜索所需信息
答案 3 :(得分:0)
您可以使用连接字符串末尾的OpenConnection
通过OpenConnectionByConnectionString
或/INPLACE
连接到您的服务器。
恢复......不要使用像conn = scripting_engine.Children( 0 )
之类的东西,而是尝试使用类似的东西:
conn = scripting_engine.OpenConnection( 'MYSAPCONNECTION /INPLACE' )
session = conn.Children( 0 )
离开...在this链接查看更多内容。
答案 4 :(得分:-1)
您可以尝试以下方法:session.TestToolMode = 1
此致 ScriptMan