c#textbox-as-filename问题

时间:2015-07-12 10:29:13

标签: c# textbox ms-word filenames office-interop

我一直在尝试制作一个程序,它可以节省机械发票。所以我到目前为止;

oWord.Application.ActiveDocument.SaveAs2("C:/BMW/Invoices/" + Regbox.Text + "/thing.doc");

将单词doc保存在由自行车注册指定的文件夹中 - 这样可以正常工作。但我真正想要的是用作文件名的日期...我无法弄清楚,所以我制作了一个日期标签并计划使用它的文本作为文件名(我知道,它的很长一段路......但它确实有效)。无论如何,我试过了;

oWord.Application.ActiveDocument.SaveAs2("C:/BMW/Invoices/" + Regbox.Text + "/" + label19.Text + ".doc");

这是一个"无效的文件名"

oWord.Application.ActiveDocument.SaveAs2("C:/BMW/Invoices/" + Regbox.Text + "/label19.Text.doc");

将其保存为" label19.Text.doc"

oWord.Application.ActiveDocument.SaveAs2("C:/BMW/Invoices/" + Regbox.Text + "/" + label19.Text, ".doc");

这引发了错误"(DISP_E_TYPEMISMATCH)"

我需要做的就是将label19文本作为带有.doc扩展名的文件名...或者将日期作为文件名的其他方式

2 个答案:

答案 0 :(得分:0)

如果您需要使用当前日期作为文件名,则可以使用:

oWord.Application.ActiveDocument.SaveAs2("C:/BMW/Invoices/" + Regbox.Text + "/" + DateTime.Now.ToString("MM-dd-yyyy") + ".doc")

答案 1 :(得分:0)

在字符串变量中生成文件名:

string filename = "C:/BMW/Invoices/" + Regbox.Text + "/" + DateTime.Now.ToString("MM-dd-yy");

然后将其传递给SaveAs2方法:

oWord.Application.ActiveDocument.SaveAs2(filename, ".doc");