私は単語ファイルからテキストを読んでいて、読んだテキストからいくつかのテキストを置き換えています。
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);
これにより、ファイルシステムに物理的に保存されていない新しいワードファイルが開きますが、これは問題ありません。しかし、テキスト値をこの新しいファイルに渡す方法がわかりません。
アップデート
上記のコードを実行した後、私は試しました
var wordApp = new Microsoft.Office.Interop.Word.Application();
var doc = wordApp.ActiveDocument;
「 ドキュメントが開いていないため、このコマンドは使用できません」というメッセージが表示されます。