有没有办法在Microsoft Word中读取隐藏文本?

时间:2014-02-04 12:19:17

标签: c# ms-word hidden

我正在尝试在C#中填充一个单词模板。该模板包含一个包含多个单元格的表。我需要能够根据唯一ID识别每个单元格。我找不到存储和存储的方法读取单词中每个单元格/文本的唯一ID。我的方法是在每个单元格中将唯一ID作为隐藏文本。然后根据此唯一ID格式化单元格(如更改背景颜色)。

我在C#中读取每个单元格中的隐藏文本时遇到了问题?

任何建议都会有很大的帮助!

谢谢!

3 个答案:

答案 0 :(得分:1)

来了!您可以迭代文档并查找隐藏文本:

foreach (Microsoft.Office.Interop.Word.Range p in objDoc.Range().Words)
{
    if (p.Font.Hidden != 0) //Hidden text found
    {
        // Do something
    }
}

p返回的值为:

    0:文字可见
    -1:隐藏文字

这就是我为Word文档所做的,但如果您能够遍历单元格的内容,可能这些信息可能会对您有所帮助。

答案 1 :(得分:1)

要阅读代码中的隐藏文字,您只需设置

即可
rangeObject.TextRetrievalMode.IncludeHiddenText = true

答案 2 :(得分:0)

例如,如果要使其可见,可以遍历所有单词并检查Font.Hidden属性,然后将其设置为可见。

Word.Document document = ThisAddIn.Instance.Application.ActiveDocument;
var rangeAll = document.Range();
                rangeAll.TextRetrievalMode.IncludeHiddenText = true;
                foreach (Microsoft.Office.Interop.Word.Range p in rangeAll.Words)
                {                   
                    texts += p.Text;
                    if (p.Font.Hidden != 0) //Hidden text found
                    {
                        p.Font.Hidden = 0;
                        count++;
                    }
                }