2010-01-12 110 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