我找到了很多关于创建Word文档实例、插入各种文本和格式的有用文档,但是无法在任何地方找到程序化创建并打开尚未创建的文档的保存文档方法。
基本上,我想创建一个docx文件,并使用来自RichTextBox的文本填充它。使用我在How to Insert text in the end of the document中找到的代码,如果我首先创建一个文档,我就能够实现这一点。但是,尽管有人建议使用_document.SaveAs()(不存在-我猜是版本不同)或.Save(),据说如果文件不存在,会提示SaveAs对话框,但我总是收到类型不匹配错误。所以,如果我预先创建要使用的文件,这就是有效的代码:
基本上,我想创建一个docx文件,并使用来自RichTextBox的文本填充它。使用我在How to Insert text in the end of the document中找到的代码,如果我首先创建一个文档,我就能够实现这一点。但是,尽管有人建议使用_document.SaveAs()(不存在-我猜是版本不同)或.Save(),据说如果文件不存在,会提示SaveAs对话框,但我总是收到类型不匹配错误。所以,如果我预先创建要使用的文件,这就是有效的代码:
OpenFileDialog SDO = new OpenFileDialog();
SDO.ShowDialog();
Microsoft.Office.Interop.Word._Application oWord;
object oMissing = Type.Missing;
oWord = new Microsoft.Office.Interop.Word.Application();
oWord.Visible = false;
oWord.Documents.Open(SDO.FileName);
oWord.Selection.TypeText(richTextBox1.Text);
oWord.ActiveDocument.Save();
oWord.Quit();
现在人们可能会认为,删除 OpenFileDialogue Documents.Open 的行将在保存在 C# 中创建的新文件方面有所帮助,但是即使如此:
Microsoft.Office.Interop.Word._Application oWord;
object oMissing = Type.Missing;
oWord = new Microsoft.Office.Interop.Word.Application();
oWord.Visible = false;
SaveFileDialog SD = new SaveFileDialog();
SD.Filter = "Word File |*.docx";
SD.Title = "Save File";
SD.ShowDialog();
oWord.Documents.Save(SD.FileName,WdNewDocumentType.wdNewXMLDocument);
oWord.Selection.TypeText(richTextBox1.Text);
oWord.ActiveDocument.Save();
oWord.Quit();
我看到其他的例子都是打开文档,让你自己保存,但我需要在选择文件名之外不需要任何人工干预就能完成保存。
非常感谢任何帮助,但第三方dll(如spire和gem)的选项被排除了,所以不是一个选择 :(
如果有人有一个简单的例子,在程序运行之前创建并保存一个不存在的word文档,我将非常感激。