2010-01-12 58 views
1

我每天都通过电子邮件获取数据转储,这是通过Access处理的(基于Outlook规则,VBA提取附件并运行Access过程,因此我得到一份报告) 。根据Outlook规则执行PHP脚本

随着数据转储越来越大,并且考虑到Access在本地运行会消耗我的资源,我想要设置一个PHP/MySQL服务器以使其更加高效。

我面临的第一个挑战是如何将Outlook规则与PHP执行连接? (因为我将在基于Windows的计算机上设置Outlook,并使用apache/mysql设置(WAMP))

任何人都可以分享关于如何从Outlook启动PHP执行的一些见解?

感谢您的帮助!

斯尔詹

回答

1

如果您在使用Access和VBA现有的设置,你只需要一个背后的更好的数据库,你能不能只使用MySQL没有PHP和使用的,而不是Access连接MySQL的ODBC驱动程序正在使用(假设您正在使用ODBC连接到访问数据库)

这样,如果您的本地计算机上的命中率过高,您甚至不必在本地运行mysql,它应该是非常简单,因为您不必对vba代码进行很多更改。

当然,这是否会做它取决于还有什么在你的Access数据库是怎么回事

如果没有,你可以尝试使用PHP和使用PHP命令行界面(CLI),你应该能够从Outlook调用外部可执行文件。只是通过php.exe的要运行PHP脚本的名称

UPDATE:

我没有以任何方式一个VBA专家,但它看起来像外壳功能将让你从内运行PHP CLI VBA

Shell("path/to/php.exe phpscript.php") 

http://msdn.microsoft.com/en-us/library/xe736fyk(VS.71).aspx

当然,如果你能得到php.exe的WAMP的机器(即在本地机器或你有相应的文件夹的网络访问)

这只会工作

另外,如果Wamp服务器是一个单独的机器,那么你可以通过调用url来触发php脚本。我认为XMLHTTP对象会为你做这个

Dim xmh As Object 

Set xmh = CreateObject("MSXML2.XMLHTTP") 
xmh.Open "GET", "http://urlofphpserver/script.php", False 
xmh.Send 
+0

+1这就是我所说的全部内容。该死的快速打字的手指! :) – 2010-01-12 10:52:04

+0

哈哈,欢呼! ;) – Addsy 2010-01-12 11:05:10

+0

感谢您的帮助,将测试它! 我想跳过访问并将所有表/查询传送到MySQL,将宏/ VBA传送到PHP,因为它消耗了太多的计算机资源。由于需要同时运行多个访问实例,因此我认为最好使用PHP/MySQL组合,因为它更轻,可以更快地处理它。 感谢您的帮助! – 2010-01-12 12:25:19