如何阅读已经打开的单词文档故事?

时间:2019-03-27 09:42:59

标签: c# ms-word office-interop word-addins

我创建了一个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窗体的按钮单击事件上编写了提供的代码。能行吗?

0 个答案:

没有答案