0
我需要從打開的Word文檔中提取文本(使用C#,VS2012)。我一直收到「無法訪問文件的錯誤,因爲它正在被另一個進程使用」。有沒有解決這個問題?所以我可以在Microsoft Word中打開文檔時以編程方式提取文本?從打開的Word文檔中提取文本
我需要從打開的Word文檔中提取文本(使用C#,VS2012)。我一直收到「無法訪問文件的錯誤,因爲它正在被另一個進程使用」。有沒有解決這個問題?所以我可以在Microsoft Word中打開文檔時以編程方式提取文本?從打開的Word文檔中提取文本
如果您無法以編程方式打開文檔,我將連接到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程序集。
我發現了一些中間的方式來解決這個問題:我做了一個文件的副本,然後從該副本中提取文本。複製也可以在使用後刪除。
感謝您的回答,這是一個很好的解決方案。但是,在我的情況下solrnet連接到word文檔,solrnet需要無限制訪問。文本提取正在被另一個應用程序。 – FrenkyB