[英]Separate Microsoft.Office.Interop.Word instance and Word app in machine
在我的應用程序中,我想使用 microsoft word
Microsoft.Office.Interop.Word
Microsoft.Office.Interop.Word.Application _wordApplication
= new Microsoft.Office.Interop.Word.Application();
this._wordApplication.Documents.Add();
object _readOnly;
object _addToRecentFiles;
object _confirmConversion;
object _trueValue;
object _falseValue;
object _visible;
object _nullObj;
object fileName = @"C:/FileName.doc";
var doc = _wordApplication.Documents.Open(ref fileName, ref _confirmConversion, ref _readOnly, ref _addToRecentFiles,
_oMissing, _oMissing, _oMissing, _oMissing, _oMissing, _oMissing, _oMissing, _visible, _oMissing,
_oMissing, _oMissing, _oMissing);
我想在我的機器上的 word 應用程序和我的解決方案中的 word 之間分開,因為如果我使用以下步驟修改機器上的 word 應用程序
查看 > 閱讀模式
並關閉單詞應用程序然后我在我的解決方案中打開單詞 >> 該單詞將在
閱讀模式不是打印布局模式
所以我的問題是如何在我的解決方案中分離 Word 應用程序和 word 實例我希望我的解決方案中的任何更改都不會影響我機器中的 microsoft office word,反之亦然
由於 Word 在注冊表中存儲許多設置值(以及Normal.dotm
模板中的其他設置值),在單個用戶配置文件項下,無法選擇或更改 Word 應用程序退出時保存的內容,無論設置是更改是由用戶或代碼進行的。 此行為是設計使然,不能以不同方式進行配置。
保持完全獨立的環境的唯一方法是在不同的用戶配置文件下運行“互操作”版本。
除此之外,為了確保“互操作”環境以與最終用戶環境不同的設置運行,“互操作”代碼在啟動時需要注意每個關注的設置,將這些設置更改為自身所需的設置,並且,當它結束時,重置為“互操作”開始時保存的設置。
有可能在“安全模式”下啟動 Word 進程,這將使用安裝默認值運行 Word,但這仍然意味着在實例啟動時創建設置。 而且,根據代碼的作用,在安全模式下工作可能存在其他限制/問題。
理論上,另一種方法是保存設置注冊表項 - 我記得有多個鍵存儲設置,用具有所需設置的鍵替換它們,啟動“互操作”實例,然后在“互操作”結束。 這本質上是第一種方法所做的,並且可能會在沒有管理員權限的最終用戶環境中遇到問題,所以我只是為了完整起見才提到它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.