Word.Document.SaveAs()方法,十万火急!!!!

zhangjie_sdly 2009-03-04 02:21:04
我在程序中,朝WORD文档里添加内容,然后按一定的规则取名,使用SaveAs()方法进行保存,可是老提示我错误.
我代码如下:
object file1 = "..\\..\\printed\\" + jkz.getCardNum() + ".doc";
object format = Word.WdSaveFormat.wdFormatTemplate;//.wdFormatRTF;
object LockComments = false;
object password = null;
object AddToRecentFiles = false;
object WritePassword = null;
object ReadOnlyRecommended = false;
object EmbedTrueTypeFonts = true;
object SaveNativePictureFormat = true;
object SaveFormsData = true;
object SaveAsAOCELetter = false;
object Encoding = Office.MsoEncoding.msoEncodingUSASCII;//.msoEncodingEBCDICSimplifiedChineseExtendedAndSimplifiedChinese;
object InsertLineBreaks = false;
object AllowSubstitutions = false;
//object LineEnding = Word.WdLineEndingType.wdCRLF;
object AddBiDiMarks = false;
//objWinWordControl.document.Save();
try
{
//objWinWordControl.document.SaveAs();
objWinWordControl.document.SaveAs(ref file1, ref format, ref LockComments, ref password, ref AddToRecentFiles, ref WritePassword, ref ReadOnlyRecommended, ref EmbedTrueTypeFonts, ref SaveNativePictureFormat, ref SaveFormsData, ref SaveAsAOCELetter);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}

使用Save()方法,可以保存,确定了WORD文档中要写的内容已经写完毕.但是会跳出来对话框让我选择,路径及自己输入文件名,我是想实现批量操作,这样的方法,再说批量的话,文件名我不可能一个一个的输入,所以想使用SAVEAS()方法,实现自动命名,并自动保存.但是报错为:
HRESULT:0X8002005 (DISP_E_TYPEMISMATCH)
这样的错误.
请高手指教,急.....
...全文
3800 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
hengsf2008 2009-09-10
  • 打赏
  • 举报
回复
花了2小时才解决,希望后来的人少走弯路。
hengsf2008 2009-09-10
  • 打赏
  • 举报
回复
object EmbedTrueTypeFonts = false;
andy0618 2009-04-30
  • 打赏
  • 举报
回复
我也遇到同样问题,请问你是怎么解决的呢
zhangjie_sdly 2009-03-04
  • 打赏
  • 举报
回复
我现在将password和writepassword两个值设定为System.reflection.Missing.Value,后,可以保存,也不报错.新生成的文档,能生成,但是里面没有内容没有文字了.为空.而用Save()保存的,内容完全正确.
SaveAs()为什么不行.为什么为空呢.?
zhangjie_sdly 2009-03-04
  • 打赏
  • 举报
回复
private void DocumentSaveAs()
{
object FileName = "myfile.doc";
object FileFormat = Word.WdSaveFormat.wdFormatRTF;
object LockComments = false;
object AddToRecentFiles = true;
object ReadOnlyRecommended = false;
object EmbedTrueTypeFonts = false;
object SaveNativePictureFormat = true;
object SaveFormsData = true;
object SaveAsAOCELetter = false;
object Encoding = Office.MsoEncoding.msoEncodingUSASCII;
object InsertLineBreaks = false;
object AllowSubstitutions = false;
object LineEnding = Word.WdLineEndingType.wdCRLF;
object AddBiDiMarks = false;

if (this.SaveFormat == (int)Word.WdSaveFormat.wdFormatDocument)
{
this.SaveAs(ref FileName, ref FileFormat, ref LockComments,
ref missing, ref AddToRecentFiles, ref missing,
ref ReadOnlyRecommended, ref EmbedTrueTypeFonts,
ref SaveNativePictureFormat, ref SaveFormsData,
ref SaveAsAOCELetter, ref Encoding, ref InsertLineBreaks,
ref AllowSubstitutions, ref LineEnding, ref AddBiDiMarks);
}
}

这是从网上找到的.SaveFormat与FileFormat有什么区别?
zhangjie_sdly 2009-03-04
  • 打赏
  • 举报
回复
我用的C#语言.谢谢自己顶一下.

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧