ternet Explorer 編程簡述(二)在IE中編輯OLE嵌入文檔
除了打開Internet上的網頁,Internet
Explorer還能夠瀏覽本地文件夾及文件。如果瀏覽的是PDF文檔或Office文檔,有時候你會發現當調用Navigate("xxx.doc")
的時候,Adobe Reader/Acrobat或Office等Document
Servers會在IE中嵌入自己的一個實例以打開相應的文件,當然有時候也會在獨立的Acrobat或Office窗口中打開文件。
在Adobe Reader/Acrobat的屬性設置窗口中,我們可以找到“Display PDF in
browser”的選項,如果勾上,則Navigate("xxx.pdf")將會以嵌入的方式在IE中瀏覽PDF文件,否則在獨立的Adobe
Reader/Acrobat窗口中瀏覽。但在Office的“選項”對話框中我們找不到這樣的設置。

問題:如何在自己的瀏覽器中控制Office這類Ole Servers的打開方式?
答案:修改文件夾選項,或修改注冊表。
方法1、如下所示,從控制面板中打開“文件夾”選項,在“文件類型”屬性頁上找到相應的文件后綴名,如“DOC”,點擊“高級”按鈕,在彈出的“編輯文件類型”對話框中有“在同一窗口中瀏覽”的選項,如果勾上,則以嵌入IE的方式打開文檔,否則在獨立窗口中打開。




方法2、直接修改注冊表。
在“HKEY_LOCAL_MACHINE\SOFTWARE\Classes”鍵值下,保存了各種文件類型的注冊信息,以Office文檔為例,與文檔相關鍵值如下。
文檔類型 鍵值
Microsoft Excel 7.0 worksheet Excel.Sheet.5
Microsoft Excel 97 worksheet Excel.Sheet.8
Microsoft Excel 2000 worksheet Excel.Sheet.8
Microsoft Word 7.0 document Word.Document.6
Microsoft Word 97 document Word.Document.8
Microsoft Word 2000 document Word.Document.8
Microsoft Project 98 project MSProject.Project.8
Microsoft PowerPoint 2000 document PowerPoint.Show.8
如果我們要修改Word文檔的打開方式,,則在“HKEY_LOCAL_MACHINE\SOFTWARE\Classes\
Word.Document.8”下新建一個名為“BrowserFlags”,類型為“REG_DWORD”的子鍵值,如果設置其值為“8”,則在獨立
的窗口中打開Word文檔,否則在嵌入IE的Word窗口中打開文檔。
注:Microsoft Excel 7.0 worksheet稍有不同,應設置BrowserFlags的值為“9”方可在獨立的窗口中打開文檔。

參考資料:
MSDN:259970:In-Place Activating Document Servers in Internet Explorer
MSDN:162059:How to configure Internet Explorer to open Office
documents in the appropriate Office program instead of in Internet
Explorer