我打算编写一段C#代码来处理word文档,并使用Windows内置的C#编译器(即csc)对其进行编译。
我遇到了以下问题:
How to read or copy text from .docx/.odt/.doc files
我从那里的答案之一中获取了代码:
using System;
using Microsoft.Office.Interop.Word;
using System.IO;
class Program
{
static void Main()
{
// Open a doc file.
Application application = new Application();
Document document = application.Documents.Open("C:\\word.doc");
// Loop through all words in the document.
int count = document.Words.Count;
for (int i = 1; i <= count; i++)
{
// Write the word.
string text = document.Words[i].Text;
Console.WriteLine("Word {0} = {1}", i, text);
}
// Close word.
application.Quit();
}
}
我正在尝试使用csc编译器从命令提示符下编译此代码,但出现以下错误:
CS0234: The type or namespace name 'Office' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?)
我经历了几篇类似的文章,用C#代码阅读Word文档,几乎所有文章都使用Microsoft.Office.Interop.Word,而他们都使用Visual Studio。
我认为当我们尝试使用csc从命令提示符下进行编译时,情况有所不同。
我遇到了以下问题:
C# command line add reference to Microsoft.Office.Interop.Excel
但是,当我浏览这些评论时,OP似乎还没有找到答案的可行解决方案。
我还是尝试了以下方法:
csc /r:“C:\Windows\assembly\GAC_MSIL\Microsoft.Office.Interop.Word\15.0.0.0__71e9bce111e9429c/Microsoft.Office.Interop.Word.dll” c#wordy.cs
但是可能由于某些语法错误,我遇到了以下错误:
错误CS2005:缺少'/ r:'选项的文件规范
期待您的帮助,并且还希望了解除Docx之外的其他方法,这些方法可以从c#脚本处理Word文档。