我需要从打开的word文档中提取文本(使用C#,VS2012)。我一直收到“无法访问文件的错误,因为它正被另一个进程使用”。这有什么工作吗?所以我可以在Microsoft Word中打开文档时以编程方式提取文本?
答案 0 :(得分:2)
如果无法以编程方式打开文档,我将连接到正在运行的Word实例,获取文档句柄,并询问其中的文本。像这样:
using System;
using Microsoft.Office.Interop.Word;
namespace ConsoleApplication12
{
class Program
{
static void Main(string[] args)
{
var wordApp = (Application)System.Runtime.InteropServices.Marshal.GetActiveObject("Word.Application");
var words = wordApp.ActiveDocument.Words;
foreach (Range word in words)
{
Console.WriteLine(word.Text);
}
}
}
}
请记住引用Word Interop程序集。
答案 1 :(得分:0)
我找到了解决这个问题的中间方法:我复制文件,然后从该副本中提取文本。复制也可以在使用后删除。