Select the product you need help with
有關自訂表單與 Outlook 解決方案的常見問題集文章編號: 287530 - 檢視此文章適用的產品。 本文曾發行於 CHT287530 如需本文的 Microsoft Outlook 97 版本,請參閱
166368
(http://support.microsoft.com/kb/166368/
)
。 如需本文的 Microsoft Outlook 98 版本,請參閱
180826
(http://support.microsoft.com/kb/180826/
)
。 如需本文的 Microsoft Outlook 2000 版本,請參閱
271225
(http://support.microsoft.com/kb/271225/
)
。在此頁中結論 本文對使用 Outlook 表單與其他 Outlook 程式設計技術,例如 Visual Basic for
Applications 和 Visual Basic Scripting Edition
(VBScript),提供有關建立自訂解決方案常見問題的資源與解答。 其他相關資訊資源有許多可用的資源可以幫助開發 Outlook 解決方案。 如需有關在哪裡可以找到這些資源的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:287531
(http://support.microsoft.com/kb/287531/
)
List of resources for custom forms and programming with Outlook 2002
Outlook 安全性功能Microsoft Outlook 2002 包含多種功能,這些功能是設計來避免散佈經由電子郵件傳送的病毒。當使用 Outlook 物件模型和其他以開發人員為導向的功能時,可能會遇到意外或不希望發生的行為,通常為下列其中一項警告: 一個應用程式嘗試要代表您自動傳送電子郵件。 您要允許它執行此項作業嗎? 如果這是不在預期之內的動作,它可能是病毒,您應該選擇 [否]。
一個應用程式嘗試要存取您存在 Outlook 中的電子郵件地址。您要允許它執行此項作業嗎? 如果這是不在預期之內的動作,它可能是病毒,您應該選擇 [否]。 執行階段錯誤 '287': 應用程式定義或物件定義的錯誤 290500
(http://support.microsoft.com/kb/290500/
)
說明 Outlook 2002 中供開發人員使用的電子郵件安全性功能
項目及 Outlook 自訂表單問 1:我已經建立自訂的 Outlook 表單,但是當我建立新的項目或開啟建立表單前就有的現存項目時,卻沒有使用到自訂表單。為什麼沒有用到我的表單呢?答 1:如果要在一般資料夾表單解決方案中使用自訂 Outlook 表單,則必須完成三個步驟:
答 2:如果表單不是位於可信任的位置,例如 Exchange Server 電腦上的「公司表單檔案庫」,則 Outlook 會顯示巨集警告訊息來避免潛在的惡意程式設計碼 (通常稱為巨集病毒)。您無法直接抑止警告訊息的顯示;必須將表單公佈到可信任的位置。 如需有關這個問題以及為什麼會收到這個警告訊息之其他原因的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件: 290663 問 3:我已經建立自訂表單,但是當我關閉然後再開啟項目時,或者當我傳送表單給其他人時,我所輸入到自訂控制項中的所有資訊都不見了。為什麼會發生這種情況?
(http://support.microsoft.com/kb/290663/
)
Office Outlook 2003 or Outlook 2002 does not run VBScript code when you open an item
答 3:在 Outlook 中,表單上的控制項是用來顯示資訊的,但是資訊實際上是儲存在欄位中。因此,如果要保留控制項的值,則控制項必須連結到 Outlook 標準的或使用者定義的欄位。 如需有關此問題的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件: 290655 問 4:使用者定義的欄位不如我預期般的運作。為什麼?
(http://support.microsoft.com/kb/290655/
)
Description of using fields and controls on custom forms in Outlook 2002
答 4:使用者定義的欄位為資料夾中資料結構化的方式提供了彈性,但是這個彈性也為解決方案開發人員帶來一些挑戰。 如需有關如何在 Outlook 中使用使用者定義欄位的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件: 290656 問 5:為什麼資料夾中某些項目會有不同的圖示?為什麼資料夾中某些項目有不正常的大小?為什麼項目的「訊息類別」變回預設的「訊息類別」?如何才能更了解 Outlook 中表單的運作方式?
(http://support.microsoft.com/kb/290656/
)
How to work with user-defined fields in solutions in Outlook 2002
答 5:當您設計 Outlook 解決方案時,了解表單及項目之間的差別以及兩者之間彼此的關聯是很重要的一點。在多數情況下,表單會公佈到某個位置,然後連結到資料夾中的項目。然而,您可以將表單儲存在個別項目中,這樣會導致 Outlook 的行為在許多方面發生改變。 如需有關表單定義以及其如何關聯到項目的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件: 290657 問 6:當我從外部資料庫匯入或匯出連絡人時,如何將某些欄位對應到我在自訂表單中設定的使用者定義欄位?
(http://support.microsoft.com/kb/290657/
)
Description of form definitions and one-off forms in Outlook 2002
答 6:這是 Outlook「匯入及匯出精靈」的限制。沒有辦法直接匯入或匯出資料至使用者定義的欄位。如果您熟悉 Visual Basic 程式設計的話,就可以建立以程式方式匯入或匯出資訊的解決方案。 如需有關這個問題的詳細資訊以及如何匯入或匯出使用者定義欄位的範例,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件: 197654
(http://support.microsoft.com/kb/197654/
)
OL2000: Cannot Import or Export User-Defined Contact Fields
290658
(http://support.microsoft.com/kb/290658/
)
How to programmatically import Outlook items from Access
290792 問 7:當我使用自訂 Outlook 表單上的控制項時,為什麼似乎沒有任何控制項事件在運作?
(http://support.microsoft.com/kb/290792/
)
How to programmatically export Outlook items to Access
答 7:當您使用自訂 Outlook 表單時,Outlook 只支援控制項的 Click 事件。許多控制項是專門設計來與其他事件一起運作,而且因為 Outlook 不支援這些事件,所以控制項無法在 Outlook 中正常運作。 如果要解決這個限制,您可以建立 Visual Basic ActiveX 元件 (正式名稱為 OLE 伺服器應用程式)。您可以使用 VBScript 中的 CreateObject 方法啟動元件。元件可以顯示含有適當控制項的 Visual Basic 表單,接收使用者選取或輸入的資訊,然後自動化 Outlook 以便將任何需要的資訊傳回 Outlook 表單。 這個技巧涉及到程式設計的許多方面。如需有關如何建立 ActiveX 元件的詳細資訊,請參閱 Microsoft Visual Basic 的說明文件。 如需有關 Outlook 自訂表單上控制項事件的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件: 290660 問 8:可以將表單顯示於螢幕上的樣子列印出來嗎?
(http://support.microsoft.com/kb/290660/
)
OL2002: Click Event Behavior for Standard Controls
答 8:沒有直接的方法可以將表單顯示於螢幕上的樣子列印出來。另外,Outlook 物件模型並沒有提供比 Outlook 本身所提供更多的列印功能。如果要解決這項限制,您可以使用另一個程式來列印 Outlook 資訊,或是下載 ActiveX 控制項或 Outlook Extension 來建立自訂表單列印解決方案。 如需有關如何建立自訂表單列印解決方案的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件: 290775 問 9:是否可以在 Outlook 2002 中設計表單並且將其用在舊版的 Outlook 中?
(http://support.microsoft.com/kb/290775/
)
Outlook 2002 does not print forms as expected
答 9:通常我們並不建議這樣做。為了要確保相容性,請使用將套用該表單的最早 Outlook 版本來設計表單。 如需有關設計要用於多種 Outlook 版本之表單的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件: 291172 問 10:要如何才能讓 Outlook 表單上的選項按鈕運作?
(http://support.microsoft.com/kb/291172/
)
Description of designing custom forms for different versions of Outlook
答 10:必須要依照特定的步驟執行才能讓 Outlook 中的選項按鈕運作。 如需有關選項按鈕如何運作的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件: 290652 問 11:什麼是表單快取?為什麼 Outlook 會使用到它?它如何運作?
(http://support.microsoft.com/kb/290652/
)
How to use option buttons on an Outlook custom form
答 11:表單快取是 Outlook 如何使用表單的必要部分。身為表單開發人員,對表單快取運作方式有一般性的了解是很重要的,這樣才可以疑難排解可能發生的潛在問題。 如需有關表單快取的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件: 290806
(http://support.microsoft.com/kb/290806/
)
Description of Outlook 2002 forms cache
291183 問 12:如何處理表單上的 [訊息] 或 [附註] 欄位?
(http://support.microsoft.com/kb/291183/
)
How to troubleshoot Outlook forms cache issues
答 12:如果郵件格式是設定為 Outlook RTF 格式,則 Outlook 對處理訊息本文只提供有限的支援。但是,如果您使用「超文字標記語言」(HTML) 格式或是以 Microsoft Word 做為電子郵件編輯器,就可以建立高度格式化的電子郵件訊息。 如需有關使用項目本文的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件: 291153 問 13:從「公司表單檔案庫」或「個人表單檔案庫」中開啟表單要經過許多步驟。如何新增表單到工具列按鈕,讓這項工作變得較為簡單?
(http://support.microsoft.com/kb/291153/
)
Description of the Message or Notes field in Outlook 2002
答 13:如果要這樣做,必須建立自訂的 Visual Basic for Applications 程式碼或 COM 增益集。 如需有關如何執行這項操作的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件: 290803 問 14:如何從 Outlook 表單啟動其他程式或顯示網頁?
(http://support.microsoft.com/kb/290803/
)
OL2002: How to Open a Form from a Toolbar Button
答 14:只要程式支援自動化,就可以使用 VBScript 中的 CreateObject 方法來自動化程式。 如需有關這個問題的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件: 292009
(http://support.microsoft.com/kb/292009/
)
OL2002: How to Start Another Program from an Outlook Form
294865
(http://support.microsoft.com/kb/294865/
)
OL2002: How to Display a Web Page in an Outlook Form
Visual Basic for Applications、COM 增益集與自動化問 1:VBScript 與 Visual Basic for Applications 之間的差異是什麼,而我應該使用哪一種呢?答 1:與舊版的 Outlook 一樣,Outlook 自訂表單是使用 Visual Basic Scripting Edition (VBScript)。然而,Outlook 也在應用程式層級提供對於 Visual Basic for Applications 的支援,也就是說您可以從主要的 Outlook 工具列或功能表來執行巨集,且程式碼可以在項目以外的範圍運作。Outlook 物件模型最近的新增物,大部分都是用來支援這個新的應用程式層級的程式設計模型。例如,有些事件允許自訂程式碼在 Outlook 發生特定事項時執行,例如當接收新的郵件或是使用者按下資料夾中的不同項目時。您的程式碼也可以使用類似批次處理的方式執行,當您按一下工具列按鈕時,巨集會從資料夾擷取資料,然後更新公用資料夾中的資訊。 問 2:Visual Basic for Applications 與 COM 增益集兩者都提供建立程式層級程式碼的功能。應該使用哪一個呢? 答 2:Outlook 中的 Visual Basic for Applications 主要是設計為建立個人的解決方案。使用 Visual Basic for Applications 的主要優點是可以快速建立符合自己需求的解決方案。如果想散發解決方案的話,COM 增益集通常是比較好的選擇。然而,COM 增益集通常需要投資較多的開發時間。另外,如果需要開發 COM 增益集,使用 Visual Basic for Applications 來開發及除錯解決方案通常會比較容易。接著,當 Visual Basic for Applications 程式碼如您所期望的運作時,通常可以在做少許變更之後將程式碼移到 COM 增益集架構中。 問 3:如何記錄巨集? 答 3:雖然 Outlook 現在含有 Visual Basic for Applications,但是 Outlook 物件模型卻沒有提供支援記錄巨集的功能。 如需有關無法記錄巨集的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件: 291417 問 4:如何開始將 Outlook 整合至另一個程式中?
(http://support.microsoft.com/kb/291417/
)
OL2002: Unable to Record Macros in Outlook
答 4:您可以使用自動化,以程式方式從另一個自訂程式來控制 Outlook。 如需有關自動化 Outlook 的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件: 291120 問 5:Visual Basic for Applications 專案儲存在哪裡?如何將我所建立的解決方案散發給其他人?
(http://support.microsoft.com/kb/291120/
)
How to automate Outlook 2002 from another program
答 5:Outlook Visual Basic for Applications 程式碼儲存在稱為 VBAProject.OTM 的單一檔案中,且 Outlook Visual Basic for Applications 並不是設計用來散發的。 如需有關如何在 Outlook 中使用 Visual Basic for Application 專案的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件: 290779
(http://support.microsoft.com/kb/290779/
)
Description of managing and distributing Outlook 2002 Visual Basic for Applications (VBA) projects
290780 問 6:如何開始開發 COM 增益集?
(http://support.microsoft.com/kb/290780/
)
OL2002: Code Does Not Work After You Distribute a VBA Project
答 6: 如需有關如何開發 COM 增益集的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件: 291163 問 7:COM 增益集導致 Outlook 停止回應 (懸置)。什麼地方出錯了?
(http://support.microsoft.com/kb/291163/
)
How to create a COM Add-in for Outlook 2002
答 7:COM 增益集可能造成 Visual Basic 發生執行階段錯誤,這可能會對 Outlook 造成問題。由於 COM 增益集有這項限制,因此請在整個 COM 增益集程式碼中使用錯誤捕捉來截獲任何潛在的執行階段錯誤。 如需有關此問題的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件: 291166 問 8:COM 增益集造成 Outlook 無法結束。什麼地方出錯了?
(http://support.microsoft.com/kb/291166/
)
OL2002: All COM Add-in Run-Time Errors Must Be Trapped
答 8:COM 增益集很可能沒有釋出 Explorer 或 Inspector 物件,這造成 Outlook 無法結束。 如需有關此問題的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件: 294867
(http://support.microsoft.com/kb/294867/
)
You can't fully quit Outlook when you use a COM Add-in in Outlook 2002
物件模型及其他一般問題問 1:在開始開發解決方案之前,如何找出是否有人已經開發了我計劃要開發的部分?答 1:Slipstick Systems 網站提供了增益集與公用程式的完整摘要。如需有關這些增益集的詳細資訊,請至下列 Slipstick 網站: http://www.slipstick.com/addins/index.htm 本文提及的協力廠商產品是由與 Microsoft 無關的獨立廠商所製造。Microsoft
不以暗示或其他方式,提供與這些產品的效能或可靠性有關的保證。
(http://www.slipstick.com/addins/index.htm)
問 2:如何以程式方式參照特定的 Outlook 資料夾或特定的項目?如何建立新的資料夾或項目? 答 2:Outlook 提供許多方法來以程式方式存取並處理項目與資料夾。 如需有關如何使用資料夾與項目的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件: 290804 問 3:我為什麼不知道要如何執行某些工作?這有可能嗎?
(http://support.microsoft.com/kb/290804/
)
Programming examples for referencing items and folders in Outlook 2002
答 3:由於 Outlook 並不支援完整的物件模型 (例如 Word 或 Microsoft Excel 中的物件模型),因此您嘗試要執行的工作可能無法達成。另外,還有其他 Outlook 設計考量或限制可能會讓您無法使用希望的方式來建立解決方案。 如需相關的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件: 294868 問 4:如何以程式方式,根據欄位內容來搜尋項目與資料夾?
(http://support.microsoft.com/kb/294868/
)
OL2002: Custom Forms and Programming Limitations
答 4:您無法以程式方式使用 Outlook 中「尋找」或「進階尋找」的功能,但是可以使用 Outlook 物件模型中的 Find 方法,根據一或多個欄位的內容來擷取單一項目。您也可以使用 Restrict 方法,來擷取符合特定條件的一組項目。 如需有關如何使用 Find 與 Restrict 方法的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件: 291161 問 5:我在使用物件集合時有些問題,是什麼原因造成這個問題呢?
(http://support.microsoft.com/kb/291161/
)
OL2002: Using Find and Restrict to Retrieve Items
答 5:在三種常見的情況下,當 Outlook 開發人員在使用 Outlook 物件模型中的集合時會遇到問題。因為集合 (特別是「項目」集合) 是 Outlook 物件模型的必要部分,所以您應該要熟悉這些問題。 如需有關當使用集合時如何避免潛在問題的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件: 292457
(http://support.microsoft.com/kb/292457/
)
OL2002: How to Properly Reference Members of a Collection
292062
(http://support.microsoft.com/kb/292062/
)
OL2002: How to Handle Unexpected Items in a Collection
292459 問 6:如何根據儲存在 Outlook 中的資料來產生報表?
(http://support.microsoft.com/kb/292459/
)
OL2002: How to Delete Items in a Collection
答 6:有幾種可以採取的方法:
答 7:一般而言,建立自訂 Outlook 表單解決方案並不是實作路由或工作流程解決方案的最佳方法。如果您對設計自訂 Outlook 表單不熟悉的話,實作這種類型的解決方案通常會比看起來更複雜。 如需有關實作路由解決方案時要考慮的事項的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件: 291122 問 8:如何整合通訊錄與我的解決方案?
(http://support.microsoft.com/kb/291122/
)
OL2002: Overview of Implementing Workflow or Routing Solutions
答 8:Outlook 物件模型沒有提供顯示通訊錄對話方塊的方法,但是您可以存取大部分的通訊錄資訊。如果需要更多 Outlook 物件模型提供的功能,共同作業資料物件 (CDO) 物件模型很可能會提供您所需的功能。 如需有關如何在自訂解決方案中使用通訊錄的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件: 291147
(http://support.microsoft.com/kb/291147/
)
How to use address books in an Outlook solution
屬性文章編號: 287530 - 上次校閱: 2006年8月18日 - 版次: 2.4
| 文章翻譯
|


回此頁最上方








