保存对不同文件中的工作表的更改。expression.SaveAs(FileName, FileFormat, Password, WriteResPassword, ReadOnlyRecommended, CreateBackup, AccessMode, ConflictResolution, AddToMru, TextCodepage, TextVisualLayout, Local)expression 必需。该表达式返回上述对象中一个对象。Filename Variant 类型,可选。该字符串表示要保存的文件名。可包含完整路径。如果不指定路径,Microsoft Excel 将文件保存到当前文件夹中。FileFormat Variant 类型,可选。保存文件时使用的文件格式。要得到有效选项的列表,请参阅 FileFormat 属性。对于已有文件,其默认格式是上次指定的文件格式;对于新文件,默认格式为当前使用的 Excel 版本格式。Password Variant 类型,可选。它是一个区分大小写的字符串(最长不超过 15 个字符),用于指定文件的保护密码。WriteResPassword Variant 类型,可选。该字符串表示文件的写保护密码。如果文件保存时带有密码,但打开文件时不输入密码,则该文件以只读方式打开。 ReadOnlyRecommended Variant 类型,可选。如果该值为 True,则在打开文件时显示一条信息,提示该文件以只读方式打开。CreateBackup Variant 类型,可选。如果该值为 True,则创建备份文件。AccessMode XlSaveAsAccessMode 类型,可选。XlSaveAsAccessMode 可为以下 XlSaveAsAccessMode 常量之一。
xlExclusive (不含方式)
xlNoChange default (不更改访问方式)
xlShared (共享列表)
如果省略此参数,则不会更改访问方式。如果在没有改变文件名的情况下保存共享列表,则可以忽略参数。若要改变访问方式,请使用 ExclusiveAccess 方法。
ConflictResolution XlSaveConflictResolution 类型,可选。XlSaveConflictResolution 可为以下 XlSaveConflictResolution 常量之一。
xlUserResolution (显示冲突解决方案对话框)
xlLocalSessionChanges (自动接受本地用户的修改)
xlOtherSessionChanges (接受除本地用户之外的其他用户的更改)
如果忽略本参数,则显示冲突处理对话框。
AddToMru Variant 类型,可选。如果该值为 True ,则将该工作簿添加到最近使用的文件列表中。默认值为 False。TextCodePage Variant 类型,可选。不在美国英语版的 Microsoft Excel 中使用。TextVisualLayout Variant 类型,可选。不在美国英语版的 Microsoft Excel 中使用。Local Variant 类型,可选。如果该值为 True,则以 Microsoft Excel(包括控制面板设置)的语言保存文件。如果该值为 False(默认值),则以 Visual Basic for Applications (VBA) 的语言保存文件,其中 Visual Basic for Applications (VBA) 为典型安装的美国英语版本,除非 VBA 项目中的 Workbooks.Open 来自旧的国际化的 XL5/95 VBA 项目。
xlExclusive (不含方式)
xlNoChange default (不更改访问方式)
xlShared (共享列表)
如果省略此参数,则不会更改访问方式。如果在没有改变文件名的情况下保存共享列表,则可以忽略参数。若要改变访问方式,请使用 ExclusiveAccess 方法。
ConflictResolution XlSaveConflictResolution 类型,可选。XlSaveConflictResolution 可为以下 XlSaveConflictResolution 常量之一。
xlUserResolution (显示冲突解决方案对话框)
xlLocalSessionChanges (自动接受本地用户的修改)
xlOtherSessionChanges (接受除本地用户之外的其他用户的更改)
如果忽略本参数,则显示冲突处理对话框。
AddToMru Variant 类型,可选。如果该值为 True ,则将该工作簿添加到最近使用的文件列表中。默认值为 False。TextCodePage Variant 类型,可选。不在美国英语版的 Microsoft Excel 中使用。TextVisualLayout Variant 类型,可选。不在美国英语版的 Microsoft Excel 中使用。Local Variant 类型,可选。如果该值为 True,则以 Microsoft Excel(包括控制面板设置)的语言保存文件。如果该值为 False(默认值),则以 Visual Basic for Applications (VBA) 的语言保存文件,其中 Visual Basic for Applications (VBA) 为典型安装的美国英语版本,除非 VBA 项目中的 Workbooks.Open 来自旧的国际化的 XL5/95 VBA 项目。
解决方案 »
- IOCP中偶尔出现接收到的数据为0的情况,应该怎么处理?
- com调用出现的问题
- CAsyncSocket 发送结构体 乱码!!!
- 通过窗口层次关系和父窗口句柄获取子窗口完成消息传递
- MFC应该如何学?? VC++新手 急!!!!!!!!
- 释放内存错误?? 疑问
- 有个问题是关于一个API函数 很急 希望帮忙
- 用vc开发怎么实现 build number?
- 关 于 模 态 对 话 框 的 消 息 循 环。
- 我可以用函数修改一个.ini文件,但如何修改一个txt文件或其他文件呢?
- (1、)当鼠标Button移动上时,怎样变成手型?(2、)怎么样将界面美化,使别人看不到按钮,只能用手型按钮去操作
- 增加函数怎么出这样的错误?
我用了以下两种方式,都提示出错:
wbMyBook.SaveAs(
_variant_t("E:\\test2.xls"),
_variant_t(""),
_variant_t(""),
_variant_t(""),
_variant_t(false),
_variant_t(false),
_variant_t(""),
_variant_t(""),
_variant_t(""),
_variant_t(""),
_variant_t(""),
_variant_t("")
);wbMyBook.SaveAs(
_variant_t("E:\\test2.xls"),
_variant_t(""),
_variant_t(""),
_variant_t(""),
_variant_t(false),
_variant_t(false),
_variant_t(""),
_variant_t(""),
_variant_t(""),
_variant_t(""),
_variant_t(""),
_variant_t(false)
);
编译通过,但运行时提示:
runtime error!
this application has requested the runtime to terminate it in an unusual way.
上面给出的SaveAs()的参数都是可选的,能给一个把所有的参数都设为缺省值的例子吗?
wbMyBook.SaveAs(_variant_t("E:\\test2.xls"),
vtMissing,
vtMissing,
vtMissing,
vtMissing,
vtMissing,
vtMissing,
vtMissing,
vtMissing,
vtMissing,
vtMissing,
vtMissing);
COleVariant
covTrue((short)TRUE),
covFalse((short)FALSE),
covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);...
wbMyBook.SaveAs(COleVariant("c:\\1.xls"),covOptional,covOptional,covOptional,\
covOptional,covOptional,1,covOptional,covOptional,covOptional,covOptional,covOptional);
这个是例子:
COleVariant covTrue((short)TRUE), covFalse((short)FALSE),
covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);wbk.SaveAs(
COleVariant("盘符:\\aaa\\bbb\\ccc.xls"),
covOptional,
covOptional,
covOptional,
covOptional,
covOptional,
0,
covOptional,
covOptional,
covOptional,
covOptional);如果对saveas()方法缺省全部参数的话,就成了save()方法了,这个方法是不需要任何参数的,连covOptional这样的方式都用不着,呵呵。
这是save的声明:
void _Workbook::Save()
{
InvokeHelper(0x11b, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
}
if (NULL==fopen("C:\\a.xls","r+"))
{
AfxMessageBox("文件不存在");
wbMyBook.SaveAs(COleVariant("C:\\a.xls"),covOptional,covOptional,
covOptional,covOptional,covOptional,(long)0,covOptional,covOptional,
covOptional,covOptional);
}
else
{
AfxMessageBox("wenjiancunzai");
wbMyBook.Save() ;
}
这是定义:
Workbooks wbsMyBooks;
_Workbook wbMyBook;