【发布时间】:2013-10-01 11:30:05
【问题描述】:
因为this problem 似乎无法解析,所以我正在探索自动生成 InfoPath 电子邮件的不同选项。
以下代码有效,但一旦我使用 .Submit,它会提示我使用输入 - 基本上 InfoPath 窗口要求我在对话框上点击“发送”。
我希望有一种方法可以基本上完成下面的代码在伪代码中所做的事情。问题是当.Submit 被调用时(documentation here - 看起来没有任何标志我可以通过/设置来忽略它),VBA 等待按键继续(所以SendKeys 不像下面,至少要做 Alt+S)。
有关显示的确认示例,请参见下图:
我想抑制这种情况(即使我必须更改创建 InfoPath 电子邮件的方式)或者能够伪造“发送”按键。
Private Sub GenerateInfoPathEmail()
Dim mFilePath As String
Dim oApp As Object
Dim objEmailAdapter As EmailAdapterObject
mFilePath = "A:\tmp\testform.xsn"
Set oApp = CreateObject("InfoPath.Application")
oApp.XDocuments.NewFromSolution (mFilePath)
'infopath form has a connection called "email"
Set objEmailAdapter = oApp.XDocuments(0).DataAdapters("email")
objEmailAdapter.To = "myEmail@myDomain.com"
objEmailAdapter.CC = ""
objEmailAdapter.Intro = "intro"
objEmailAdapter.Subject = "subject"
objEmailAdapter.AttachmentType = 1 'xdXmlXns
objEmailAdapter.AttachmentFileName = mFilePath
'I want to be able to pass through
'the silly user input here to basically
'hit "send" (alt+s for keyboard shortcut)
objEmailAdapter.Submit
SendKeys ("%s") ' This obviously won't work because the code waits for user input
End Sub
【问题讨论】:
标签: vba infopath infopath2010