C# 使用代码从word文档的输入字段中读取值

C# 使用代码从word文档的输入字段中读取值,c#,ms-word,C#,Ms Word,我很快就能完成这项工作。基本上我想从word文档中读取输入字段。换言之,我有: Hello world是我通过单击Aa按钮放置的标签内容,该按钮在图像上也高亮显示。因此,当我将该文档保存为Test.docx时,我对代码执行以下操作: using System; using Microsoft.Office.Interop.Word; class Program { static void Main(string[] args) { Application wo

我很快就能完成这项工作。基本上我想从word文档中读取输入字段。换言之,我有:

Hello world是我通过单击Aa按钮放置的标签内容,该按钮在图像上也高亮显示。因此,当我将该文档保存为
Test.docx
时,我对代码执行以下操作:

using System;
using Microsoft.Office.Interop.Word;

class Program
{
    static void Main(string[] args)
    {
        Application word = new ApplicationClass();
        object miss = System.Reflection.Missing.Value;
        object path = @"a:\Users\Eduardo\Desktop\Test.docx";  // <-------- Path where document is
        object readOnly = false;
        Document document = word.Documents.Open(ref path, ref miss, ref readOnly, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss);

        // here I iterate through all the input fields!!!  <--------------------------
        foreach (ContentControl ff in document.ContentControls)
        {
            var m = ff.PlaceholderText; // for some reason I cannot get the text of the control.
            var b = ff.ShowingPlaceholderText;
            Console.WriteLine(ff.ToString());
        }

        document.Close(ref miss, ref miss, ref miss);
        word.Quit();
    }
}
所以我的最终代码现在看起来像:

using System;
using Microsoft.Office.Interop.Word;

class Program
{
    static void Main(string[] args)
    {
        Application word = new ApplicationClass();
        object miss = System.Reflection.Missing.Value;
        object path = @"a:\Users\Eduardo\Desktop\Test.docx";  // <-------- Path where document is
        object readOnly = false;
        Document document = word.Documents.Open(ref path, ref miss, ref readOnly, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss);

        foreach (ContentControl ff in document.ContentControls)
        {
            Console.WriteLine(ff.Range.Text);
        }

        document.Close(ref miss, ref miss, ref miss);
        word.Quit();
    }
}
使用系统;
使用Microsoft.Office.Interop.Word;
班级计划
{
静态void Main(字符串[]参数)
{
Application word=新应用程序类();
对象未命中=System.Reflection.Missing.Value;

object path=@“a:\Users\Eduardo\Desktop\Test.docx”;//只是建议:使用Office XML SDK,甚至打开打包的.docx,通过xpath搜索内部XML。
using System;
using Microsoft.Office.Interop.Word;

class Program
{
    static void Main(string[] args)
    {
        Application word = new ApplicationClass();
        object miss = System.Reflection.Missing.Value;
        object path = @"a:\Users\Eduardo\Desktop\Test.docx";  // <-------- Path where document is
        object readOnly = false;
        Document document = word.Documents.Open(ref path, ref miss, ref readOnly, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss);

        foreach (ContentControl ff in document.ContentControls)
        {
            Console.WriteLine(ff.Range.Text);
        }

        document.Close(ref miss, ref miss, ref miss);
        word.Quit();
    }
}