我创建了一个Word加载项。我想通过按窗口窗体上的按钮来阅读当前处于打开状态的有效Word文档(Word文档故事的内容),然后通过单击功能区上的按钮来打开窗口窗体。因此,让我清楚一下流程是如何发生的。
功能区->功能区上的按钮(单击它)->打开一个窗口表单(有一个按钮可以读取活动文档的内容)->读取文档。
我尝试通过WordOpenXML
属性访问文档内容,而我尝试的第二种方法是访问活动文档的段落。
尝试1:访问段落
private async Task<bool> SaveDocToCryptacomm1(string fileName)
{
[...some code here...]
StringBuilder sb = new StringBuilder();
long paraCount = application.ActiveDocument.Paragraphs.Count;
while (i < paraCount) {
sb.Append(application.ActiveDocument.Paragraphs[i].Range.Text);
}
[...some code here...]
}
尝试2:从WordOpenXML属性访问内容。
private async Task<bool> SaveDocToCryptacomm1(string fileName)
{
[...some code here...]
Encoding.Default.GetBytes(application.ActiveDocument.WordOpenXML);
[...some code here...]
}
尝试1的结果:
文档成功保存,但是没有内容。
尝试2的结果
文档成功保存,但是当我尝试打开它时,它已损坏。
在这种情况下,我该怎么做,以便从Window表单按钮单击事件中读取活动文档。
Microsoft.Office.Interop.Word.Application.ActiveDocument
是否有效?我是在做错什么还是什么?
编辑:需要执行此操作,而无需将打开的文档保存在本地驱动器上,并且我在Window窗体的按钮单击事件上编写了提供的代码。能行吗?