Я попытался прочитать документ word, который включает в себя текст и поля формы. Мне нужно прочитать весь текст и поля в документе. Но приведенный ниже код всегда возвращает пустое значение. Он никогда не входит в цикл foreach. Я не знаю, в чем проблема, так как нет ошибки при сборке. Но я не получил выход. Я пишу это в c # .net 4.6.2, и он будет использоваться как файл библиотеки. Что-то не так с кодом?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Office.Interop.Word;
using System.Activities;
using System.ComponentModel;
namespace WordExer
{
public class WordExer : CodeActivity
{
[Category("Input")]
public InArgument<string> AVal { get; set; }
[Category("Output")]
public OutArgument<string> CVal { get; set; }
protected override void Execute(CodeActivityContext context)
{
var a = AVal.Get(context);
string text = "";
Microsoft.Office.Interop.Word.Application word = new Microsoft.Office.Interop.Word.Application();
Microsoft.Office.Interop.Word.Document doc = word.Documents.Add(a);
doc.Activate();
foreach (FormField field in doc.FormFields)
{
Console.WriteLine(field.Range.Text);
text += field.Range.Text;
}
CVal.Set(context, text);
word.Quit();
}
}
}