Чтение полей ввода слова? - PullRequest
       8

Чтение полей ввода слова?

0 голосов
/ 31 октября 2011

Хорошо, так что я пытаюсь сделать слово документ, который содержит поля ввода. Когда пользователь закончил и отправил документ на сервер, я хотел бы прочитать все эти поля и пропустить все остальные ..

У меня проблемы с поиском, как читать эти теги из моего приложения.

Inputfields

Пример шаблона можно найти здесь: Здесь

Я хочу прочитать текст для каждого тега и сохранить его.

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 ]

1 голос
/ 31 октября 2011

Office Interop не поддерживается MS в серверных сценариях (например, ASP.NET или Windows Service или аналогичных) - см. http://support.microsoft.com/default.aspx?scid=kb;EN-US;q257757#kb2!

Вам понадобитсяиспользовать некоторую библиотеку для достижения того, что вы хотите:

РЕДАКТИРОВАТЬ - согласно комментариям:

ВНИМАНИЕ, что следующее работает ТОЛЬКО в обычном приложении (НЕ ASP.NET и т. Д.!) ...

Вы будетев основном нужно пройти через Fields коллекцию Document (в вашем коде это doc) ... некоторые полезные ссылки:

0 голосов
/ 20 декабря 2012

может быть полезно:

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();
...