自定義適用于開(kāi)發(fā)人員的 office_第1頁(yè)
自定義適用于開(kāi)發(fā)人員的 office_第2頁(yè)
自定義適用于開(kāi)發(fā)人員的 office_第3頁(yè)
自定義適用于開(kāi)發(fā)人員的 office_第4頁(yè)
自定義適用于開(kāi)發(fā)人員的 office_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、自定義適用于開(kāi)發(fā)人員的 office (2007) 功能區(qū)用戶界面 適用于:2007 Microsoft Office 套件Microsoft Office Access 2007Microsoft Office Excel 2007Microsoft Office PowerPoint 2007Microsoft Office Outlook 2007Microsoft Office Word 2007摘要:了解在 2007 Microsoft Office 版本中自定義功能區(qū)用戶界面 (UI) 時(shí)可使用的應(yīng)用場(chǎng)景和 XML 標(biāo)記。在 2007 版本中,功能區(qū) UI 替代了菜單、工具欄和大多

2、數(shù)任務(wù)窗格 UI。改進(jìn)的用戶界面2007 Microsoft Office 系統(tǒng)中的許多應(yīng)用程序都面貌一新。功能區(qū)用戶界面 (UI) 功能以進(jìn)行了效率和可發(fā)現(xiàn)能力優(yōu)化的、更簡(jiǎn)單的界面系統(tǒng)替代了采用分層菜單、工具欄和任務(wù)窗格的現(xiàn)有系統(tǒng)。新的 UI 改進(jìn)了上下文菜單、屏幕提示、小型工具欄和鍵盤快捷鍵,這提高了用戶效率和生產(chǎn)力。注意 2007 Microsoft Office 版本中實(shí)現(xiàn)了功能區(qū) UI 功能,該版本包括 Microsoft Office Access 2007、Microsoft Office Excel 2007、Microsoft Office PowerPoint 2007、M

3、icrosoft Office Word 2007 和 Microsoft Office Outlook 2007。Microsoft Office Outlook 2007 中還在下列情況下實(shí)現(xiàn)了該功能:用戶創(chuàng)建或編輯電子郵件消息;或使用聯(lián)系人并位于“日歷”中??赏ㄟ^(guò)組合使用 XML 標(biāo)記和 Microsoft Visual Studio 中支持的任何基于 Microsoft .NET 的語(yǔ)言來(lái)自定義功能區(qū) UI。還可以使用 Microsoft Visual Basic Applications (VBA)、Microsoft Visual C+ 和 Microsoft Visual Bas

4、ic 6.0 自定義功能區(qū) UI。本文提供有關(guān)新用戶界面的詳細(xì)論述,并提供功能區(qū) UI 的代碼示例和自定義應(yīng)用場(chǎng)景。有關(guān)功能區(qū)控件和屬性列表的詳細(xì)參考信息,請(qǐng)參閱 Customizing the Office (2007) Ribbon User Interface for Developers (Part 2 of 2)(英文)。要了解 Microsoft Office 應(yīng)用程序 2007 版本用戶界面 (UI) 系統(tǒng)的開(kāi)發(fā)人員概述及 UI 重新設(shè)計(jì)背后的目標(biāo),以及了解重新設(shè)計(jì)的 UI 對(duì)自定義解決方案和加載項(xiàng)的影響,請(qǐng)參閱 Developer Overview of the User In

5、terface for the 2007 Microsoft Office System(英文)。有關(guān)這些功能的詳細(xì)信息,請(qǐng)參閱 2007 Microsoft Office System Beta 2 附帶的 Ribbon UI 自述文件。返回頁(yè)首增強(qiáng)用戶體驗(yàn)的新方法應(yīng)用程序開(kāi)發(fā)人員已利用 Office 先前版本中的工具和編程結(jié)構(gòu)通過(guò)創(chuàng)造性的方法來(lái)擴(kuò)展 UI。例如,開(kāi)發(fā)人員可通過(guò) CommandBars 對(duì)象模型在他們的自定義 Office 應(yīng)用程序中構(gòu)建豐富的解決方案。2007 Office 版本延續(xù)了這一傳統(tǒng),它引入了一種創(chuàng)新的模型,開(kāi)發(fā)人員可以使用它來(lái)增強(qiáng)用戶體驗(yàn)??墒褂每蓴U(kuò)展標(biāo)記語(yǔ)言

6、(XML) 和若干種傳統(tǒng)編程語(yǔ)言之一來(lái)操縱組成功能區(qū) UI 的組件。由于 XML 是純文本形式,因此可在任何文本編輯器中創(chuàng)建自定義文件,這簡(jiǎn)化了對(duì) UI 的操作。而且,只需進(jìn)行最基本的調(diào)整便可重復(fù)使用自定義功能區(qū) UI 文件,因?yàn)槊總€(gè)應(yīng)用程序都使用相同的編程模型。例如,可重復(fù)使用在 Word 2007、Excel 2007、Access 2007 或 PowerPoint 2007 中創(chuàng)建的自定義功能區(qū) UI 文件。圖 1. 2007 Office 版本應(yīng)用程序中的功能區(qū) UI使用 XML 標(biāo)記文件自定義 UI 大大減少了對(duì)基于 CommandBars 對(duì)象模型的復(fù)雜加載項(xiàng)的需要。不過(guò),在先前

7、版本的 Office 中編寫的加載項(xiàng)在進(jìn)行微小修改后或不做任何修改,即可在功能區(qū) UI 中繼續(xù)使用。本文稍后有對(duì)加載項(xiàng)的論述。返回頁(yè)首為大多數(shù) Office 應(yīng)用程序自定義功能區(qū) UI可按下列方法在 Word 2007、Excel 2007 或 PowerPoint 2007 中創(chuàng)建自定義應(yīng)用程序級(jí)別功能區(qū) UI:在托管代碼或非托管代碼中使用 COM 加載項(xiàng)使用應(yīng)用程序特定的加載項(xiàng),如 .ppam 文件和 .xlam 文件使用 Word 2007 中的模板(.dotm 文件)在一個(gè)典型的應(yīng)用場(chǎng)景中,COM 加載項(xiàng)中的代碼包含從外部自定義文件或代碼自身包含的 XML 返回 XML 標(biāo)記的過(guò)程。應(yīng)

8、用程序啟動(dòng)時(shí),將加載加載項(xiàng)并執(zhí)行返回 XML 標(biāo)記的代碼。代碼將根據(jù)某種 XSD 架構(gòu)驗(yàn)證 XML 標(biāo)記,然后將其加載到內(nèi)存中并應(yīng)用給功能區(qū) UI。隨后將出現(xiàn)修改過(guò)的功能區(qū) UI。功能區(qū) UI 命令和控件還使用回調(diào)過(guò)程來(lái)執(zhí)行加載項(xiàng)中的代碼。文檔級(jí)別自定義使用相同的 XML 標(biāo)記和具有下列擴(kuò)展名之一的 Open XML 格式文件:.docx、.docm、.xlsx、.xlsm、.pptx 或 .pptm。在此應(yīng)用場(chǎng)景中,將創(chuàng)建一個(gè)包含 XML 標(biāo)記的自定義文件并將其保存到某個(gè)文件夾。然后修改 Open XML 格式容器中的部分,使其指向自定義文件。在 Office 應(yīng)用程序中打開(kāi)文檔時(shí),自定義文

9、件將加載到內(nèi)存中并應(yīng)用給功能區(qū) UI。然后命令和控件將調(diào)用文檔中包含的代碼來(lái)提供其功能。返回頁(yè)首現(xiàn)有解決方案是怎樣的?在先前版本的 Office 中,開(kāi)發(fā)人員使用 CommandBars 對(duì)象模型來(lái)構(gòu)建修改 UI 的 Visual Basic 代碼。在 2007 版本中,在大多數(shù)情況下,這些舊代碼不做修改便可繼續(xù)使用。不過(guò),在 Microsoft Office 2003 中對(duì)工具欄所做的更改現(xiàn)在會(huì)出現(xiàn)在一個(gè)“加載項(xiàng)”選項(xiàng)卡上。所顯示的自定義類型取決于加載項(xiàng)的原始設(shè)計(jì)。例如,Office 將創(chuàng)建一個(gè)“菜單命令”組,其中包含添加到先前菜單結(jié)構(gòu)(“文件”菜單、“插入”菜單、“工具”菜單等)中的項(xiàng)目。

10、它還將創(chuàng)建一個(gè)“工具欄命令”組,其中包含添加到先前內(nèi)置工具欄(“標(biāo)準(zhǔn)”工具欄、“格式”工具欄、“圖片”工具欄等)中的項(xiàng)目。此外,加載項(xiàng)文檔添加的自定義工具欄將出現(xiàn)在“加載項(xiàng)”選項(xiàng)卡的“自定義工具欄”組中。返回頁(yè)首使用回調(diào)在開(kāi)始詳細(xì)介紹功能區(qū) UI 自定義之前,我們先來(lái)了解一下回調(diào)的使用。就功能區(qū)擴(kuò)展性而言,可指定回調(diào)以在運(yùn)行時(shí)通過(guò) UI 更新屬性和執(zhí)行操作。例如,假定某個(gè)按鈕對(duì)應(yīng) onAction 回調(diào)函數(shù)。功能區(qū)標(biāo)記將如下所示:<button id="myButton" onAction="MyButtonOnAction" />該標(biāo)記指示

11、在該按鈕被單擊時(shí) Microsoft Office 調(diào)用 MyButtonOnAction 函數(shù)。MyButtonOnAction 函數(shù)的簽名視所選語(yǔ)言而定;以下為 C 中的一個(gè)示例:public void MyButtonOnAction (IRibbonControl control) if (control.Id="myButton") System.Windows.Forms.MessageBox.Show("按鈕被單擊!"); 只要簽名與下表中的簽名相符,函數(shù) MyButtonOnAction 就可以擁有任何名稱:Customizing the

12、 Office (2007) Ribbon User Interface for Developers (Part 2 of 2):Table 12. List of all C and VBA callbacks and signatures(英文)Customizing the Office (2007) Ribbon User Interface for Developers (Part 2 of 2):Table 13. List of all C+ and Visual Basic .NET callbacks and signatures(英文)必須將其聲明為 public。可通過(guò)

13、 control 參數(shù)為許多不同的控件使用相同的回調(diào)函數(shù)。注意 XML 自定義標(biāo)記中的所有屬性均使用小寫首字母表示法,即大寫除第一個(gè)詞外每個(gè)詞的第一個(gè)字符。例如,onAction 和 insertBefore。返回頁(yè)首自定義功能區(qū) UI 的兩種方法Office 的 2007 版本(Access 2007 屬于例外,本文后面有對(duì)它的介紹)提供了兩種使用 XML 標(biāo)記自定義功能區(qū) UI 的方法:使用包含 XML 標(biāo)記的有效 Open XML 格式文件或使用包含 XML 標(biāo)記的 COM 加載項(xiàng)。在該 XML 標(biāo)記中指定的任何更改均表現(xiàn)為現(xiàn)有功能區(qū) UI 的附加項(xiàng)。例如,如果添加代表一個(gè)自定義選項(xiàng)卡的

14、 XML 標(biāo)記,將會(huì)添加一個(gè)選項(xiàng)卡。注意 功能區(qū)中有多個(gè)可設(shè)置各種屬性的特性。有關(guān)屬性列表,請(qǐng)參閱表 14. 功能區(qū)屬性列表。功能區(qū)標(biāo)記中的所有控件都必須具有下列標(biāo)識(shí)符之一。表 1. 所有控件都必須與下列標(biāo)識(shí)符之一聯(lián)用標(biāo)識(shí)符說(shuō)明ID與自定義控件聯(lián)用。該標(biāo)識(shí)符作為 IRibbonControl 上的一個(gè)屬性傳遞給回調(diào)函數(shù)。idMso與內(nèi)置控件聯(lián)用。idQ與合格控件聯(lián)用。例如:<customUI xmlns= xmlns:x="myNameSpace"><button idQ="x:myButton" . . . />注意 通過(guò)創(chuàng)建一

15、個(gè)名稱空間 x,可將兩種不同的加載項(xiàng)添加到同一自定義組(它們只是需要通過(guò)該自定義組的限定名稱對(duì)其進(jìn)行引用)。使用 Open XML 格式文件自定義功能區(qū) UI在文檔級(jí)別,使用 XML 標(biāo)記自定義功能區(qū) UI 的過(guò)程包括下列步驟。有關(guān)詳細(xì)信息,請(qǐng)參閱本文后面的在功能區(qū) UI 中添加基于文檔的加載項(xiàng)。使用 Open XML 格式文件自定義功能區(qū) UI1.通過(guò)添加在功能區(qū) UI 中添加新組件、修改現(xiàn)有組件或隱藏組件的 XML 標(biāo)記,可在任意文本編輯器中創(chuàng)建自定義文件。將該文件保存為 customUI.xml。2.在桌面上創(chuàng)建名為 customUI 的文件夾,然后將自定義文件復(fù)制到該文件夾。3.使用自

16、定義 UI 架構(gòu)驗(yàn)證 XML 標(biāo)記。注意 該步驟是可選步驟。4.在 Office 應(yīng)用程序中創(chuàng)建一個(gè)文檔,然后將其保存為具有下列擴(kuò)展名之一的 Open XML 格式文件:.docx、.docm、.xlsx、.xlsm、.pptm 或 .pptx。包含宏的文件具有后綴 m。這些文件還包括由功能區(qū)命令和控件調(diào)用的過(guò)程。5.為文檔的文件名添加 .zip 擴(kuò)展名,然后打開(kāi)文件。6.通過(guò)將文件夾從桌面拖動(dòng)到該 ZIP 文件中,將該自定義文件添加到容器。7.將 .rels 文件從 Zip 文件提取到桌面上。一個(gè)包含 .rels 文件的 _rels 文件夾即復(fù)制到桌面上。8.打開(kāi)位于 _rels 文件夾中的

17、 .rels 文件,添加用于在文檔文件和自定義文件之間創(chuàng)建關(guān)系的一行代碼,然后保存文件。9.將 _rels 文件夾添加回容器,從而覆蓋現(xiàn)有文件。10.通過(guò)刪除 .zip 擴(kuò)展名,將文件重命名為其原始文件名。之后,在 Office 應(yīng)用程序中打開(kāi)文件時(shí),所顯示的功能區(qū) UI 將具有自定義內(nèi)容。使用 COM 加載項(xiàng)自定義功能區(qū) UI如果在應(yīng)用程序級(jí)別進(jìn)行自定義,無(wú)論打開(kāi)哪一個(gè)文檔,所產(chǎn)生的修改過(guò)的功能區(qū) UI 都會(huì)出現(xiàn)在應(yīng)用程序中。首先,需要?jiǎng)?chuàng)建 COM 加載項(xiàng)來(lái)進(jìn)行這些修改。使用 COM 加載項(xiàng)自定義功能區(qū) UI1.創(chuàng)建一個(gè) COM 加載項(xiàng)項(xiàng)目。所創(chuàng)建的加載項(xiàng)必須實(shí)現(xiàn) Extensibility

18、.IDTExtensibility2 接口(所有 COM 加載項(xiàng)都須如此),還必須實(shí)現(xiàn)附加 IRibbonExtensibility 接口(位于 Microsoft.Office.Core 名稱空間中)。2.構(gòu)建加載項(xiàng)并設(shè)置項(xiàng)目,然后安裝項(xiàng)目。3.啟動(dòng) Microsoft Office 應(yīng)用程序。加載項(xiàng)加載后,將觸發(fā) IDTExtensibility2:OnConnection 事件,與在先前版本的 Office 中一樣,該事件會(huì)將加載項(xiàng)初始化。4.接下來(lái)將調(diào)用 QueryInterface 方法,它確定是否實(shí)現(xiàn)了 IRibbonExtensibility 接口。5.如果已實(shí)現(xiàn),將調(diào)用 IRi

19、bbonExtensibility:GetCustomUI 方法,該方法加載 XML 標(biāo)記(從 XML 自定義文件或從過(guò)程中內(nèi)嵌的 XML 標(biāo)記),然后將自定義功能區(qū) UI 加載到應(yīng)用程序中。6.最后,用戶將可以開(kāi)始使用自定義功能區(qū) UI。XML 標(biāo)記中指定的每個(gè)控件均通過(guò)調(diào)用回調(diào)過(guò)程來(lái)公開(kāi)其功能。例如,一個(gè)按鈕控件的 XML 標(biāo)記可以指定一個(gè) onAction 屬性,當(dāng)用戶單擊該按鈕時(shí),該屬性指向的過(guò)程將開(kāi)始執(zhí)行。在大多數(shù)情況下,回調(diào)過(guò)程都會(huì)公開(kāi)一個(gè)標(biāo)識(shí)該控件的 IRibbonControl 接口。也可以傳遞其他參數(shù)。例如,可以傳遞一個(gè) Boolean 對(duì)象,它指定一個(gè)切換按鈕的按下或未按下

20、狀態(tài)。IRibbonControl 接口實(shí)現(xiàn)了三個(gè)屬性:Context 對(duì)象、Id 對(duì)象和 tag 屬性。Context 對(duì)象是包含觸發(fā)回調(diào)的功能區(qū)的活動(dòng)窗口。Id 對(duì)象是標(biāo)記中指定的自定義控件的 String 標(biāo)識(shí)符。tag 屬性是一個(gè)不唯一屬性,可選擇是否在標(biāo)記中指定該屬性。返回頁(yè)首XML 標(biāo)記文件的一般格式可以使用 XML 標(biāo)記自定義功能區(qū) UI。以下示例顯示的是一個(gè)在 Word 2007 中自定義功能區(qū) UI 的 XML 標(biāo)記文件的一般格式。<customUI xmlns=" > <ribbon startFromScratch="false&qu

21、ot; > <tabs> <tab idMso="TabWrite"> <group idMso="GroupFont" visible="false" /> </tab> <tab id="CustomTab" label="我的選項(xiàng)卡"> <group id="mygroup" label="示例組" > <button id="Button1" l

22、abel="我的大按鈕" size="large" onAction="MyMacro" /> <button id="Button2" label="我的正常按鈕" size="normal" onAction="MyMacro" /> </group > <group id="SimpleControls" label="我的組"> <toggleButton id

23、="ToggleButton1" size="large" label="大切換按鈕" getPressed="MyMacro" /> <checkBox id="CheckBox1" label="復(fù)選框" tooltip="這是一個(gè)復(fù)選框" onAction="MyMacro" /> <editBox id="EditBox1" getText="MyMacro" la

24、bel= "我的編輯框" onChange="MyMacro"/> <comboBox id="Combo1" label="我的組合框" showItemLabel="false" onChange="MyMacro"> <item id="Zip1" label="33455" /> <item id="Zip2" label="81611" /> &

25、lt;item id="Zip3" label="31561" /> </comboBox> <advanced> <button id="Launcher" tooltip="我的啟動(dòng)器" onAction="MyMacro" /> </advanced> </group> </tab> </tabs> </ribbon> </customUI>該 XML 標(biāo)記會(huì)產(chǎn)生修改過(guò)的功能區(qū)

26、 UI,如下圖所示:圖 2. 在 Word 中自定義功能區(qū) UI 的示例該示例對(duì) Word 2007 中的功能區(qū) UI 進(jìn)行了下列更改,更改按所示順序進(jìn)行:首先,示例聲明默認(rèn)名稱空間和一個(gè)自定義名稱空間。接著,示例隱藏位于內(nèi)置“主頁(yè)”選項(xiàng)卡中的內(nèi)置“GroupFont”組。隨后,示例將一個(gè)新的“CustomTab”選項(xiàng)卡添加到最后一個(gè)內(nèi)置選項(xiàng)卡的右側(cè)。注意 使用 id= 標(biāo)識(shí)符屬性來(lái)創(chuàng)建一個(gè)自定義項(xiàng)目,如一個(gè)自定義選項(xiàng)卡。使用 idMso= 標(biāo)識(shí)符屬性來(lái)引用內(nèi)置項(xiàng)目,如“TabHome”選項(xiàng)卡。示例將一個(gè)新的“SampleGroup”組添加到“我的選項(xiàng)卡”。示例將一個(gè)大尺寸的“ToogleBu

27、tton1”按鈕添加到“我的組”。還將指定一個(gè) onAction 回調(diào)和一個(gè) GetPressed 回調(diào)。示例將一個(gè)帶有自定義屏幕提示的“CheckBox1”復(fù)選框添加到“我的組”。還將指定一個(gè) onAction 回調(diào)。示例將一個(gè)“EditBox1”編輯框添加到“我的組”。還將指定一個(gè) onChange 回調(diào)。示例將一個(gè)包含三個(gè)項(xiàng)目的“Combo1”組合框添加到“我的組”。該組合框指定一個(gè) onChange 回調(diào),它使用每個(gè)項(xiàng)目中的文本。示例將一個(gè)設(shè)置了 onAction 回調(diào)的“Launcher1”啟動(dòng)器添加到“我的組”。啟動(dòng)器也可以顯示一個(gè)自定義對(duì)話框來(lái)為用戶提供更多選項(xiàng)。示例將一個(gè)新的“

28、MyGroup”組添加到自定義選項(xiàng)卡中。示例將一個(gè)大尺寸的“Button1”按鈕添加到“MyGroup”組。還將指定一個(gè) onAction 回調(diào)。最后,示例將一個(gè)正常尺寸的“Button1”按鈕添加到“MyGroup”組中。還將指定一個(gè) onAction 回調(diào)。如您所見(jiàn),修改功能區(qū) UI 是件容易的工作。返回頁(yè)首Access 2007 中的 UI 自定義Access 2007 中的功能區(qū)自定義與其他 Office 應(yīng)用程序共享某些相同的選項(xiàng),但存在一些重要的區(qū)別。正如其他 Office 2007 應(yīng)用程序一樣,使用 XML 標(biāo)記來(lái)自定義 Access 功能區(qū) UI。也可以使用包含 XML 標(biāo)記

29、或 COM 加載項(xiàng)的外部文件將功能區(qū)自定義集成到應(yīng)用程序中,這也與其他應(yīng)用程序類似。不過(guò),與其他 Office 應(yīng)用程序不同的是,因?yàn)?Access 數(shù)據(jù)庫(kù)文件是二進(jìn)制文件,不能作為 Office Open XML 格式文件打開(kāi),所以無(wú)法通過(guò)在數(shù)據(jù)庫(kù)文件中添加部分來(lái)自定義 Access 功能區(qū)。Access 在自定義功能區(qū) UI 方面確實(shí)提供了極大的靈活性。例如,可將自定義標(biāo)記存儲(chǔ)在表中、將其嵌入某個(gè) VBA 過(guò)程、將其存儲(chǔ)在另一 Access 數(shù)據(jù)庫(kù)中或?qū)⑵滏溄拥侥硞€(gè) Excel 工作表。還可以為整個(gè)應(yīng)用程序或特定窗體和報(bào)告指定自定義 UI。為讓您了解自定義 Access UI 的過(guò)程有多么

30、輕松,讓我們通過(guò)幾個(gè)應(yīng)用場(chǎng)景進(jìn)行預(yù)演。注意 因?yàn)樵谶M(jìn)行這些預(yù)演的過(guò)程中要對(duì)數(shù)據(jù)庫(kù)進(jìn)行更改,所以您可能不希望在自己的數(shù)據(jù)庫(kù)中執(zhí)行這些步驟,而是希望在其他數(shù)據(jù)庫(kù)(例如,Access 自帶的 Northwind 示例數(shù)據(jù)庫(kù))中執(zhí)行。自定義 Access 功能區(qū) UI所有 Access UI 自定義都有一個(gè)共同點(diǎn):只有通過(guò)調(diào)用唯一的功能區(qū)特定的 Access VBA 對(duì)象成員(LoadCustomUI 方法),它們所代表的功能區(qū)才能供應(yīng)用程序使用。該方法的簽名為:expression.LoadCustomUI(CustomUIName As String, CustomUIXML As String)

31、其中 expression 返回一個(gè) Application 對(duì)象CustomUIName 是將與此標(biāo)記關(guān)聯(lián)的自定義功能區(qū) ID 的名稱CustomUIXML 包含 XML 自定義標(biāo)記。通常,要?jiǎng)?chuàng)建功能區(qū)并使其可供應(yīng)用程序使用,首先需要在數(shù)據(jù)庫(kù)中創(chuàng)建一個(gè)模塊,其中包含調(diào)用 LoadCustomUI 方法的過(guò)程,從而傳入功能區(qū)的名稱和 XML 自定義標(biāo)記。如前所述,XML 標(biāo)記可來(lái)自通過(guò)表創(chuàng)建的 Recordset 對(duì)象、來(lái)自數(shù)據(jù)庫(kù)之外的來(lái)源(如必須解析為 String 的 XML 文件)或來(lái)自直接嵌入過(guò)程內(nèi)部的 XML 標(biāo)記。只要每個(gè)功能區(qū)的名稱和組成功能區(qū)的選項(xiàng)卡的 id 屬性是唯一的,就可

32、通過(guò)對(duì) LoadCustomUI 方法進(jìn)行多次調(diào)用,傳入不同的 XML 標(biāo)記來(lái)使不同的功能區(qū)可用。過(guò)程完成后,接著創(chuàng)建一個(gè)通過(guò)使用 RunCode 操作調(diào)用該過(guò)程的 AutoExec 宏。這樣一來(lái),應(yīng)用程序啟動(dòng)時(shí)將自動(dòng)執(zhí)行 LoadCustomUI 方法,所有自定義功能區(qū)都可供應(yīng)用程序使用。在應(yīng)用程序啟動(dòng)時(shí)應(yīng)用自定義功能區(qū)要實(shí)現(xiàn)自定義 UI 以便其在應(yīng)用程序啟動(dòng)時(shí)可用,請(qǐng)執(zhí)行下列操作:1.按之前所述過(guò)程操作,使自定義功能區(qū)可供應(yīng)用程序使用。2.關(guān)閉應(yīng)用程序,然后將其重新啟動(dòng)。3.單擊“Microsoft Office 按鈕”(“文件”菜單),然后單擊“Access 選項(xiàng)”按鈕。4.單擊左側(cè)窗格

33、中的“啟動(dòng)”選項(xiàng),然后在“應(yīng)用程序選項(xiàng)”部分中單擊“自定義功能區(qū) ID”并選擇列表中的其中一個(gè)功能區(qū)。5.現(xiàn)在,請(qǐng)關(guān)閉應(yīng)用程序,然后將其重新啟動(dòng)。將顯示所選 UI。為窗體或報(bào)告指派自定義功能區(qū)1.按之前所述過(guò)程操作,使自定義功能區(qū)可供應(yīng)用程序使用。2.在“設(shè)計(jì)”視圖中打開(kāi)窗體或報(bào)告。3.在“設(shè)計(jì)”選項(xiàng)卡上,單擊“屬性頁(yè)”按鈕。4.在“屬性”窗口的“全部”選項(xiàng)卡上,單擊“自定義功能區(qū) ID”下拉列表,然后選擇列表中的其中一個(gè)功能區(qū)。5.保存、關(guān)閉窗體或報(bào)告,然后將其重新打開(kāi)。將顯示所選 UI。注意 顯示在功能區(qū) UI 中的選項(xiàng)卡是附加選項(xiàng)卡。也就是說(shuō),除非專門隱藏選項(xiàng)卡或?qū)?startFromS

34、cratch 屬性設(shè)置為 True,否則由窗體或報(bào)告的功能區(qū) UI 顯示的選項(xiàng)卡將是在現(xiàn)有選項(xiàng)卡基礎(chǔ)上增加的選項(xiàng)卡。為進(jìn)一步說(shuō)明此過(guò)程,我們來(lái)完成幾個(gè)示例。返回頁(yè)首創(chuàng)建 Access 應(yīng)用程序級(jí)別自定義功能區(qū)下列步驟演示為數(shù)據(jù)庫(kù)創(chuàng)建和實(shí)現(xiàn)自定義功能區(qū)的過(guò)程。開(kāi)始之前,需要設(shè)置一個(gè)選項(xiàng)來(lái)報(bào)告執(zhí)行代碼時(shí)可能發(fā)生的任何錯(cuò)誤:1.單擊“Microsoft Office 按鈕”(“文件”菜單),單擊“Access 選項(xiàng)”,然后單擊“視圖”選項(xiàng)卡。2.在“在所有 Office 應(yīng)用程序中,顯示”部分,選擇選項(xiàng)“報(bào)告加載項(xiàng)中的自定義用戶界面錯(cuò)誤”。接下來(lái),創(chuàng)建一個(gè)包含自定義 XML 標(biāo)記的表:3.啟動(dòng) Ac

35、cess 2007。4.在“插入”選項(xiàng)卡上,單擊“表”,然后單擊“表設(shè)計(jì)”。5.在表中添加以下字段:表 2. DbRibbons 表字段定義字段名類型IDLong Integer (AutoNumber)RibbonNameTextRibbonXmlMemo6.接下來(lái),右鍵單擊“Table1”選項(xiàng)卡,然后單擊“數(shù)據(jù)表視圖”。7.在創(chuàng)建的字段中添加下列數(shù)據(jù):表 3. DbRibbons 表數(shù)據(jù)字段名值ID(AutoNumber)RibbonNameHideDataRibbonXml<customUI xmlns=" <ribbon startFromScratch=&quo

36、t;false"><tabs><tab idMso="TabAccessEdit" visible="false" /><tab id="dbCustomTab" label="自定義選項(xiàng)卡" visible="true"><group id="dbCustomGroup" label="自定義組"><control idMso="Paste" label="

37、;內(nèi)置粘貼" enabled="true"/></group></tab></tabs></ribbon></customUI>此標(biāo)記將 startfromScratch 屬性設(shè)置為 False,然后隱藏內(nèi)置的“編輯”選項(xiàng)卡。接下來(lái),它會(huì)創(chuàng)建一個(gè)自定義選項(xiàng)卡和一個(gè)自定義組,并在該組中添加內(nèi)置的 Paste 控件。8.將表保存為“DbRibbons”,然后將其關(guān)閉。接下來(lái),創(chuàng)建 VBA 模塊和在啟動(dòng)時(shí)加載功能區(qū)的宏:9.在“插入”選項(xiàng)卡上,單擊“高級(jí)”按鈕,然后單擊“模塊”。10.在 Visual Basic 編輯器的“視圖”菜單上,單擊“屬性窗口”。11.在“屬性”窗口的“名稱”屬性文本框中,將模塊的名稱更改為“RibbonLoader”。12.在代碼窗口中,插入下列 VBA 代碼:Option Compare Datab

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論