我必須在只讀模式下打開自動化Word文檔。然後,我必須從該文檔中刪除某些特定的頁面,以瞭解用戶在該程序的用戶界面中執行的某些配置。如何操作以只讀模式打開的Word 2013文檔
操作對頁腳和頁眉不起作用,但是這個特殊的代碼不起作用。它打破了錯誤System.Runtime.InteropServices.COMException(0x800A11FD):此方法或屬性不可用,因爲此命令不可用於讀取。執行此代碼時:
int num = objWordDoc.ComputeStatistics(stat, ref missing);
int[] a = { 1,3,5};
for (int i = 0; i < a.Length; i++)
{
object page_num = a[i];
objWordDoc.Application.Selection.GoTo(Word.WdGoToItem.wdGoToPage,
Word.WdGoToDirection.wdGoToAbsolute, num, page_num);
objWordDoc.Application.Selection.Bookmarks[@"\Page"].Select();
objWordDoc.Application.Selection.Delete();
}
在調用Selection.Goto的行中。此代碼取自How to delete pages in a word document dynamically。
當用戶執行http://myitforum.com/myitforumwp/2013/06/10/disable-reading-mode-and-protected-view-in-word-2013/中描述的過程時,使用該文檔確實有效。主要設置必須被禁用: 禁用閱讀視圖。轉到文件 - 選項 - 常規。取消選中「在閱讀視圖中打開電子郵件附件和其他不可編輯的文件」
這似乎只對Word 2013是必要的,因爲Word 2010工作正常。是否有可能以編程方式強制編輯模式,而無需讓用戶定義這些設置?
--- UPDATE ---
原因,使用這種方法:
- 以只讀模式打開office文檔是必要的,如果多個程序試圖訪問同一文件。否則,單詞會引發一個消息框,試圖澄清誰是允許編輯文檔的人。
- 其實這個過程在Word中正常工作2010
- 以只讀模式並不意味着,文檔編輯已被鎖定,它意味着,該文件已在編輯時要使用不同的名稱/位置下保存開完全可能。這種行爲似乎是由2013年的Word
似乎你開始與矛盾 - 開放只讀然後刪除一些頁面?你想要在大局中完成什麼? – rheitzman
好點,謝謝你的提示,我更新了這個問題。 –