2013-08-27 49 views
3

我正在構建一個Access窗體,該窗體將部署在沒有Office的Windows計算機上。要運行Access數據庫,將安裝Office 2010 Runtime例程。由於這種方便的免費下載,用戶可以打開表單並運行自定義代碼,而無需安裝Access。如何在沒有Outlook的情況下生成電子郵件草稿

這是完美的,只有一個例外。輸入他們的數據後,我需要一些自定義代碼來打開並保存MS Exchange賬戶中的草稿電子郵件。通常情況下,使用Outlook對我來說非常簡單。但是,我之前提到的Office Runtime不包含該庫。

我如何合法地在沒有安裝Outlook的計算機上使用MS Outlook 14.0對象庫(MSOUTL.OLB)?迄今爲止的想法:

  1. 桌面版本的Outlook Express安裝此庫嗎?我只能在第三方sites上找到這個,所以這不是我的第一選擇。

  2. 我探討了將庫複製到共享驅動器的想法,但這看起來不是一個好的idea

  3. 就是這樣。如果根本不可能,我需要爲其他人生成新的界面和管理系統來生成電子郵件。

建議請?

(此外,對於那些你們誰喜歡看代碼,這裏就是我通常做。我只是不願修改此登錄到特定帳戶:)

Function MakeEmail() 
    Dim OlApp As Outlook.Application 
    Dim ObjMail As Outlook.MailItem 
    Set OlApp = CreateObject("Outlook.Application") 
    Set ObjMail = OlApp.CreateItem(olMailItem) 
    'Add To,CC,Subject,Body,etc here 
    ObjMail.Save 
End Function 
+1

如果內存服務,則Outlook和Outlook Express無關,代碼相關。 –

+1

如果您想從客戶機發送任何電子郵件,您需要一些電子郵件客戶端應用程序。無論是Windows Mail,Outlook Express,Windows Live Mail,Eudora,Thunderbird等。或者將精心​​設計的文本文件寫入網絡共享,並在一臺機器上安裝Outlook宏以監控此共享。或者從網絡共享中啓動便攜式電子郵件客戶端應用 – PatricK

+0

夠公平的。你推薦什麼電子郵件客戶端?我試圖通過VBA訪問MS Exchange帳戶,我只想將電子郵件保存爲草稿,而不是實際發送(實際發送將由第二位人員完成,他們將對其進行審覈以確保準確性)。 – PowerUser

回答

0

下載SendEmail命令行效用。然後修改您的VBA來執行該操作。

Sub SendEmail(fromAddress As String, _ 
        toAddress As String, _ 
        subject As String, _ 
        message As String, _ 
        server As String, _ 
        userID As String, _ 
        userPass As String _ 
        ) 
    Shell "sendemail.exe -f " & fromAddress & _ 
     " -t " & toAddress & _ 
     " -u " & subject & _ 
     " -m " & message & _ 
     " -s " & server & _ 
     " -xu " & userID & _ 
     " -xp " & userPass & _ 
     , vbNormalFocus 
End Sub 
+0

謝謝,但我可以使用這個util將電子郵件作爲草稿保存在MS Exchange服務器上,而不是發送它?一個人需要先審查它。我正在查看鏈接,我不認爲我看到了該選項。 – PowerUser

0

根據正在使用的Exchange Server版本,可以嘗試使用CDO。我相信它應該有能力創建一個Exchange會話,創建一個消息對象,然後將其放置在特定的文件夾(即草稿)中。

有關更多信息,請查看CDO here上的MSDN文章,並查找可能需要的下載here

相關問題