我正在閱讀單詞文件中的文本,並將替換文本中的某些文本替換爲單詞文件。將單詞文件中的文本複製到新單詞中
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);
所以我必須從原始的Word文件的文本,現在我需要它傳遞給一個新詞文件,該文件不存在的(新文本)。
我試圖
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "WINWORD.EXE";
Process.Start(startInfo);
這將打開它不是在文件系統中這是很好的身體保存新的Word文件。但我不確定如何將文本值傳遞給這個新文件。
更新
上面的代碼運行後我試圖
var wordApp = new Microsoft.Office.Interop.Word.Application();
var doc = wordApp.ActiveDocument;
與來了「因爲沒有文檔是打開此命令不可用。」
你見過這樣的:HTTP://計算器。 com/questions/5160964/copy-contents-of-word-doc-and-paste-into-another-c-sharp – MUG4N
@ MUG4N:我看到類似的東西[這裏](http://pastebin.com/1sV8es7b),但我不確定什麼是'worddocpromo'。沒有解釋 –
@huMptyduMpty你應該依靠word interop來做這件事,而不是process.start。創建一個新的Word文檔,設置內容,將其保存到另一個位置,現在使用process.start等從那裏打開它。不要忘記妥善處理COM對象 – nawfal