vb6如果新建excel文件?不是open

gongda777 2012-07-24 01:08:37
搜了半天都是open已经存在的xls文件,我想新建,用什么方法?excel对象有没有这个方法?
...全文
472 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
橘子皮... 2012-07-26
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]

引用 6 楼 的回复:
引用 5 楼 的回复:

Workbooks.Add
示例:
VB code
Dim xlsApp As New Excel.Application

……

这样速度太慢了,要2-3秒,可是系统新建的话是立刻无延迟就出来了,系统是复制的还是怎么弄的?
速度并不慢,没感到要用2~3秒,你测试慢可能的原因是杀软所谓的文档保护等等原因作怪,而且慢的过程……
[/Quote]

使用的是shell方式,通过DDE发送新建命令完成,这个VB要写的话如何写呢??? 那个慢就是创立组件的时候卡一点
c_cyd2008 2012-07-26
  • 打赏
  • 举报
回复
DDE已经是一个古董级的技术了,现在已没人采用;VB中用LinkExecute发送DDE命令,命令格式由命令执行端决定,新建xls的DDE命令为"[new("%1")]",详细可msdn、百度、谷歌“DDE技术”;
创建组件本质上也是Shell,不过由于EXCEL提供了命令行启动参数,使用特定参数启动(系统用的是/e /n,是啥含义不知道)应比用默认参数启动(创建组件)快一点也是正常的。
c_cyd2008 2012-07-25
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]
引用 5 楼 的回复:

Workbooks.Add
示例:
VB code
Dim xlsApp As New Excel.Application

……

这样速度太慢了,要2-3秒,可是系统新建的话是立刻无延迟就出来了,系统是复制的还是怎么弄的?[/Quote]
速度并不慢,没感到要用2~3秒,你测试慢可能的原因是杀软所谓的文档保护等等原因作怪,而且慢的过程应该是创建Excel.Application时,创建工作簿过程并不慢;系统应当使用的是shell方式,通过DDE发送新建命令完成,这可以从xls文件类型的新建命令中看到
zzf88 2012-07-25
  • 打赏
  • 举报
回复
Set xlApp = New Excel.Application
xlApp.ScreenUpdating = False
xlApp.DisplayAlerts = False

xlApp.Workbooks.Add
Set xlBook = xlApp.Workbooks(1)
Set xlSheet = xlBook.Worksheets(1)

gongda777 2012-07-25
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]
引用 5 楼 的回复:

Workbooks.Add
示例:
VB code

Dim xlsApp As New Excel.Application
xlsApp.Visible = False
Dim xlsBook As Excel.Workbook
Set xlsBook = xlsApp.Workbooks.Add '添加新工作簿
xlsBook.SaveAs "c:……
[/Quote]
没明白你的意思,我现在是想把n多数据库里的数据导出到excel
gongda777 2012-07-25
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]
Workbooks.Add
示例:

VB code


Dim xlsApp As New Excel.Application
xlsApp.Visible = False
Dim xlsBook As Excel.Workbook
Set xlsBook = xlsApp.Workbooks.Add '添加新工作簿
xlsBook.SaveAs "c:\ddd.xl……
[/Quote]
标准答案啊,结贴
橘子皮... 2012-07-25
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

Workbooks.Add
示例:
VB code

Dim xlsApp As New Excel.Application
xlsApp.Visible = False
Dim xlsBook As Excel.Workbook
Set xlsBook = xlsApp.Workbooks.Add '添加新工作簿
xlsBook.SaveAs "c:\ddd.xls" '……
[/Quote]

这样速度太慢了,要2-3秒,可是系统新建的话是立刻无延迟就出来了,系统是复制的还是怎么弄的?
c_cyd2008 2012-07-24
  • 打赏
  • 举报
回复
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
贝隆 2012-07-24
  • 打赏
  • 举报
回复
使用File System Object(FSO)来创建也不错,FSO.CreateFile()
gongda777 2012-07-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
一个比较简单的办法,就是事先准备好一个Excel模板文件,使用CopyFile复制它创建一个新的Excel文件,这个文件你可以自己命名,还可以以特定的格式生成。非常实用。
[/Quote]
这个办法备选。
excel能不能直接创建文件呢?
橘子皮... 2012-07-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

一个比较简单的办法,就是事先准备好一个Excel模板文件,使用CopyFile复制它创建一个新的Excel文件,这个文件你可以自己命名,还可以以特定的格式生成。非常实用。
[/Quote]

右键点新建的话,系统也是复制的?
贝隆 2012-07-24
  • 打赏
  • 举报
回复
一个比较简单的办法,就是事先准备好一个Excel模板文件,使用CopyFile复制它创建一个新的Excel文件,这个文件你可以自己命名,还可以以特定的格式生成。非常实用。

7,785

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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