vb6如果新建excel文件?不是open
搜了半天都是open已经存在的xls文件,我想新建,用什么方法?excel对象有没有这个方法? --------------------编程问答-------------------- 一个比较简单的办法,就是事先准备好一个Excel模板文件,使用CopyFile复制它创建一个新的Excel文件,这个文件你可以自己命名,还可以以特定的格式生成。非常实用。 --------------------编程问答--------------------右键点新建的话,系统也是复制的? --------------------编程问答--------------------
这个办法备选。
excel能不能直接创建文件呢? --------------------编程问答-------------------- 使用File System Object(FSO)来创建也不错,FSO.CreateFile() --------------------编程问答-------------------- Workbooks.Add
示例:
--------------------编程问答--------------------
Dim xlsApp As New Excel.Application
xlsApp.Visible = False
Dim xlsBook As Excel.Workbook
Set xlsBook = xlsApp.Workbooks.Add '添加新工作簿
xlsBook.SaveAs "c:\ddd.xls" '保存
xlsBook.Close
xlsApp.Quit
Set xlsApp = Nothing
Set xlsBook = Nothing
这样速度太慢了,要2-3秒,可是系统新建的话是立刻无延迟就出来了,系统是复制的还是怎么弄的? --------------------编程问答--------------------
标准答案啊,结贴 --------------------编程问答--------------------
没明白你的意思,我现在是想把n多数据库里的数据导出到excel --------------------编程问答-------------------- --------------------编程问答--------------------
速度并不慢,没感到要用2~3秒,你测试慢可能的原因是杀软所谓的文档保护等等原因作怪,而且慢的过程应该是创建Excel.Application时,创建工作簿过程并不慢;系统应当使用的是shell方式,通过DDE发送新建命令完成,这可以从xls文件类型的新建命令中看到 --------------------编程问答--------------------
使用的是shell方式,通过DDE发送新建命令完成,这个VB要写的话如何写呢??? 那个慢就是创立组件的时候卡一点 --------------------编程问答-------------------- DDE已经是一个古董级的技术了,现在已没人采用;VB中用LinkExecute发送DDE命令,命令格式由命令执行端决定,新建xls的DDE命令为"[new("%1")]",详细可msdn、百度、谷歌“DDE技术”;
创建组件本质上也是Shell,不过由于EXCEL提供了命令行启动参数,使用特定参数启动(系统用的是/e /n,是啥含义不知道)应比用默认参数启动(创建组件)快一点也是正常的。
补充:VB , 基础类