我有将文本写入 Word 文档(非 XML)并将其保存到文件的代码。现在,我正在尝试对其进行修改,以便创建文档,然后提示用户保存文档。
这是创建 Word 文档的代码:
object miss = System.Reflection.Missing.Value;
object Visible = true;
object start1 = 0;
object end1 = 0;
Microsoft.Office.Interop.Word.Application WordApp = new Microsoft.Office.Interop.Word.Application();
Document aDocument = WordApp.Documents.Add(ref miss, ref miss, ref miss, ref miss);
Range rng = aDocument.Range(ref start1, ref miss);
try
{
rng.Font.Name = "Georgia";
rng.InsertAfter("Report Header!");
object filename = @"C:\Users\test.doc";
aDocument.SaveAs(ref filename, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss);
object saveChanges = Microsoft.Office.Interop.Word.WdSaveOptions.wdPromptToSaveChanges;
object originalFormat = Microsoft.Office.Interop.Word.WdOriginalFormat.wdWordDocument;
object routeDocument = true;
((_Document)aDocument).Close(saveChanges, originalFormat, routeDocument); //to close the document process (winword.exe)
//WordApp.Visible = true;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
这按预期工作;它创建一个 Word 文档并为用户打开它。我一直在阅读Microsoft 提供的有关使用 SaveFileDialog 保存文件的链接,但我不完全确定如何将其应用于我的情况。由于 SaveFileDialog 提供了要写入的流对象,我应该从 Word 文件中读取并将其写入流吗?如果是这种情况,我不确定如何编码,但这似乎是一种迂回的方式。有没有办法将创建的 Word 文档直接传递给 SaveFileDialog?