如何从VBA代码运行经典ASP文件(位于服务器上)



最近几天,我在开发Outlook 2013功能,该功能读取电子邮件并保存电子邮件的所有数据。这是在Outlook的VBA代码中完成的,一切都很好。然后,存储的VBA数据被传输到服务器上的XML文件中,该文件也可以工作。

我接下来要做的是读取ASP文件(也位于服务器上)中传输的XML数据,并将数据插入MS SQL服务器,然后删除XML文件。这一切都很好,因为我通过在网上手动调用asp文件进行了测试。

尽管我似乎找不到如何从VBA代码中自动激活/启动ASP文件,而不是自己手动调用它。因此,当在Outlook中单击宏时,它会获取数据,将其放入XML文件中,然后启动ASP文件。

还有另一种方法,即在我的服务器上使用任务调度器,它每X分钟启动一次ASP文件(并查找XML文件)。不过,这种可能性我宁愿避免,因为如果outlook用户在短时间内多次按下outlook宏,XML文件将覆盖每个otter(从而导致无法获得所有正确的数据)。

我没有添加我的代码,因为我认为这里并不真正需要它(因为我的代码正在工作),尽管如果需要代码,只需询问;)

UPDATE我发现了一段代码,它可以在web上打开asp文件(从而启动它)。问题是它打开了网页,而它只应该运行它。所以我应该添加一些页面也立即关闭的内容(这样用户就不会看到它被打开),现在就知道这是否可以实现了。。

打开它的代码如下:

Private Declare Function ShellExecute _
Lib "shell32.dll" Alias "ShellExecuteA" ( _
ByVal hWnd As Long, _
ByVal Operation As String, _
ByVal Filename As String, _
Optional ByVal Parameters As String, _
Optional ByVal Directory As String, _
Optional ByVal WindowStyle As Long = vbMinimizedFocus _
) As Long
Public Sub OpenUrl()
Dim lSuccess As Long
lSuccess = ShellExecute(0, "Open", "http://mywebsite.nl/MyCode.asp")
End Sub

也位于服务器上

是否在服务器上自动执行Outlook?

看起来你需要开发一个web服务来将你的数据(从Outlook中提取)提交到服务器,并运行服务器侧的基础设施。

最新更新