我需要从特定点开始阅读word文档。 该关键字来自下拉组合框。 关键字类似于[blah blah,blah,001]
所以,我需要只读取该关键字中的内容到下一个标题......
我用它来逐行读取标题号 但标题num notworking
string headNum = objparagraph.Range.ListFormat.ListString;
string sLine = objparagraph.Range.Text;
答案 0 :(得分:2)
Word.Application word = new Word.Application();
Word.Document doc = new Word.Document();
object fileName = @"C:\wordFile.docx";
// Define an object to pass to the API for missing parameters
object missing = System.Type.Missing;
doc = word.Documents.Open(ref fileName,
ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing);
string ReadValue = string.Empty;
// Activate the document
doc.Activate();
foreach (Word.Range tmpRange in doc.StoryRanges)
{
ReadValue += tmpRange.Text;
}
答案 1 :(得分:0)
如果我理解正确,则需要阅读从关键字到下一个标题的Word文档。换句话说,类似于以下文档中的红色文本:
在这种情况下,您可以使用GemBox.Document完成此操作:
string keyword = " [blah blah, blah, 001]";
DocumentModel document = DocumentModel.Load("input.docx");
ContentPosition start = document.Content
.Find(keyword)
.First()
.End;
ContentPosition end = new ContentRange(start, document.Content.End)
.GetChildElements(ElementType.Paragraph)
.Cast<Paragraph>()
.First(p => p.ParagraphFormat.Style != null && p.ParagraphFormat.Style.Name.Contains("heading"))
.Content
.Start;
string text = new ContentRange(start, end).ToString();
text
变量的值为:
示例我们要检索的文本内容。
另一个示例paragrap。
此外,这里还有其他Reading和Get Content示例,它们包含一些有用的信息。