我已经找到了大量有用的文档,它们涉及创建word doc实例,插入各种文本和格式设置,但是找不到任何地方来保存尚未以编程方式创建和打开的文档。
本质上,我想创建一个docx文件,并用富文本框中的文本填充它。使用我在文档末尾如何插入文本中找到的代码,如果我首先创建一个文档,则可以实现此目的。但是尽管有使用_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();
Run Code Online (Sandbox Code Playgroud)
现在,我们假设删除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();
Run Code Online (Sandbox Code Playgroud)
我看到的其他示例打开了文档,以便您可以自己保存它,但是我需要保存它而无需选择文件名,而无需任何人工干预。
感谢任何帮助,也排除了诸如spire和gem之类的第三方dll的选项,因此不是一个选项:(
如果有人有一个简单的示例来创建和保存在程序运行前不存在的word doc,那就很有必要了。