读字输入字段?

时间:2011-10-31 09:29:41

标签: c# asp.net office-interop

好的,我试着创建一个包含输入字段的单词doc。当用户完成并将文档发送到服务器时,我想阅读所有的域名并跳过所有其余的域名。

我无法找到如何从我的应用程序中读取theese标签。

Inputfields

可以在此处找到示例模板:Here

我想要的是阅读每个标签的文本并保存。

Microsoft.Office.Interop.Word.Application ap = new Microsoft.Office.Interop.Word.Application();

        try
        {

            Document doc = ap.Documents.Open(txtFile.Text, ReadOnly: true, Visible: false);
            doc.Activate();


            //What to do here?


            ap.Documents.Close(SaveChanges: false, OriginalFormat: false, RouteDocument: false);

        }
        catch (Exception ex)
        {
            txtRes.Text += "Exception Caught: " + ex.Message + Environment.NewLine;
        }

2 个答案:

答案 0 :(得分:1)

MS在类似服务器的场景(如ASP.NET或Windows服务或类似场景)中不支持 不支持 - 请参阅http://support.microsoft.com/default.aspx?scid=kb;EN-US;q257757#kb2

您需要使用一些库来实现您的目标:

编辑 - 根据评论:

注意以下内容仅适用于普通应用程序(非ASP.NET等!)...

您基本上需要浏览Fields的{​​{1}}集合(在您的代码中为Document)...一些有用的链接是:

答案 1 :(得分:0)

它可能会有所帮助:

using Word = Microsoft.Office.Interop.Word;
    ...    

        Word.Application word = new Word.ApplicationClass();
        object miss = System.Reflection.Missing.Value;
        object path = @"D:\test.doc";
        object readOnly = false;
        Word.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 (Word.FormField ff in document.FormFields)
        {
          MessageBox.Show(ff.Name." - ".ff.Result);
        }

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