我正在从 word 文件中读取文本并从读取的文本中替换一些文本。
var wordApp = new Microsoft.Office.Interop.Word.Application();
object file = path;
object nullobj = System.Reflection.Missing.Value;
var doc = wordApp.Documents.Open(ref file, ref nullobj, ref nullobj,
ref nullobj, ref nullobj, ref nullobj,
ref nullobj, ref nullobj, ref nullobj,
ref nullobj, ref nullobj, ref nullobj);
doc.ActiveWindow.Selection.WholeStory();
doc.ActiveWindow.Selection.Copy();
IDataObject data = Clipboard.GetDataObject();
var text =data.GetData(DataFormats.Text);
所以我有来自原始单词文件的文本,现在我需要将它传递给一个不存在的新单词文件(新文本)。
我试过了
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "WINWORD.EXE";
Process.Start(startInfo);
这会打开没有物理保存在文件系统中的新 word 文件,这很好。但我不确定如何将文本值传递给这个新文件。
更新
运行上面的代码后,我尝试了
var wordApp = new Microsoft.Office.Interop.Word.Application();
var doc = wordApp.ActiveDocument;
出现 “此命令不可用,因为没有打开文档”。