使用Automation时,调用excel的SaveAs,能否指定存盘格式?(100分)

  • 主题发起人 主题发起人 xxxyyyuuu
  • 开始时间 开始时间
X

xxxyyyuuu

Unregistered / Unconfirmed
GUEST, unregistred user!
.h中
Variant myExcel;
.cpp中,
void __fastcall TForm1::FormCreate(TObject *Sender)
{
myExcel = Variant::CreateObject("excel.application");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Variant MyWorkBook=myExcel.OlePropertyGet("workbooks");
Procedure Open("Open");
if (od->Execute())
{
//MyWorkBook.Exec(Open <<od->FileName);
MyWorkBook.Exec(Open <<od->FileName);
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
if (od->Execute())
{
Procedure SaveAs("SaveAs");
Variant ActiveWorkBook=myExcel.OlePropertyGet("ActiveWorkbook");
ActiveWorkBook.Exec(SaveAs <<od->FileName);
}
}
//---------------------------------------------------------------------------
能否在最后的
ActiveWorkBook.Exec(SaveAs <<od->FileName);
指定他存为"Microsoft Excel 5.0/95 工作簿"?

怎么写?谢谢


在excel_2k_srvr.cpp中
case 1571:
if (OnWorkbookBeforeSave)
(OnWorkbookBeforeSave)(this, (Excel_2k::ExcelWorkbook*)(LPDISPATCH)TVariant(params[0]), TVariant(params[1]), TVariant(params[2]));
break;
我不知道这三个参数怎么设?一个可以是文件的名字,其他的参数怎么设成文件类型了 ?
 
请看以下:

SaveAs 方法


将对工作表的修订(语法 1)或对工作簿的修订(语法 2)保存到另一个不同的文件。

语法 1

expression.SaveAs(Filename, FileFormat, Password, WriteResPassword, ReadOnlyRecommended, CreateBackup, AddToMru, TextCodePage, TextVisualLayout)

语法 2

expression.SaveAs(Filename, FileFormat, Password, WriteResPassword, ReadOnlyRecommended, CreateBackup, AccessMode, ConflictResolution, AddToMru, TextCodePage, TextVisualLayout)

expression 必选。该表达式返回一个 Chart 对象或 Worksheet 对象(语法 1)或者一个 Workbook 对象(语法 2)。

Filename Variant 类型,可选。该字符串表示要保存的文件名。可包含完整路径。如果不指定路径,Microsoft Excel 将文件保存到当前文件夹中。

FileFormat 可选 Variant 类型。保存文件时使用的文件格式。要得到有效选项的列表,请参阅 FileFormat 属性。对于已有文件,其默认格式是上次指定的文件格式;对于新文件,默认格式为当前使用的 Excel 版本格式。

Password Variant 类型,可选。它是一个区分大小写的字符串(最长不超过 15 个字符),用于指定文件的保护密码。

WriteResPassword Variant 类型,可选。该字符串表示文件的写保护密码。如果文件保存时带有密码,但打开文件时不输入密码,则该文件以只读模式打开。

ReadOnlyRecommended Variant 类型,可选。如果为 True 则在打开文件时显示一条信息,提示该文件以只读模式打开。

CreateBackup Variant 类型,可选。如果为 True 则创建备份文件。

AccessMode 可选 Variant 类型。工作簿访问方式。可以是下列 XlSaveAsAccessMode 常量之一:xlShared(共享清单)、xlExclusive(独占方式)或 xlNoChange(不改变访问方式)。如果该参数被忽略,则访问方式不会改变。如果保存共享清单时不更改文件名,则本参数将被忽略。要更改访问方式,可使用 ExclusiveAccess 方法。

ConflictResolution Variant 类型,可选。指定当工作簿为共享清单时更改冲突的处理方式。可为下列 XlSaveConflictResolution 常量之一:xlUserResolution(显示冲突处理对话框)、xlLocalSessionChanges(自动接受本地用户的更改)或 xlOtherSessionChanges(接受其他用户的更改)。如果忽略本参数,则显示冲突处理对话框。

AddToMru Variant 类型,可选。如果为 True 则将该工作簿添加到最近使用文件的列表中。默认值为 False。

TextCodePage Variant 类型,可选。不在美国英语版的 Microsoft Excel 中使用。

TextVisualLayout Variant 类型,可选。不在美国英语版的 Microsoft Excel 中使用。



FileFormat 属性


返回工作簿的格式或者类型。Long 类型,只读。

可为以下 XlFileFormat 常量之一:

xlAddIn
xlCSV

xlCSVMac

xlCSVMSDOS

xlCSVWindows

xlCurrentPlatformText

xlDBF2

xlDBF3

xlDBF4

xlDIF

xlExcel2

xlExcel2FarEast

xlExcel3

xlExcel4

xlExcel4Workbook

xlExcel5

xlExcel7

xlExcel9795

xlHTML

xlIntlAddIn

xlIntlMacro
xlSYLK
xlTemplate

xlTextMac

xlTextMSDOS

xlTextPrinter

xlTextWindows

xlUnicodeText

xlWJ2WD1

xlWK1

xlWK1ALL

xlWK1FMT

xlWK3

xlWK4

xlWK3FM3

xlWKS

xlWorkbookNormal

xlWorks2FarEast

xlWQ1

xlWJ3

xlWJ3FJ3



说明

对于所选择或安装的不同语言支持(例如:美国英语),其中的某些常量可能不可用。



说明:
OFFICE2000系统全安装后,可以再安装目录下找到文件VBAXL9。CHM,有详细的EXCEL VBA
帮助说明,而且是中文的(感谢上帝:微软2000系列产品开始有了大量的中文帮助了)。
DEPHI5、6 编程 EXCEL的话,其实可以用DELPHI5、6上的SERVER 控件,不过有些方法属性的
调用和VBAXL9。CHM中的列有不同。
 
后退
顶部