Option Explicit
Function action
Dim xlsApp,dstr,fname
dstr = FormatDateTime(Date)
fname="d:\" + dstr + ".xls"
Set XlsApp = CreateObject("Excel.Application")
XlsApp.WorkBooks.Add
XlsApp.ActiveWorkbook.SaveAs("d:\fname.xls")
XlsApp.Quit
Set XlsApp = nothing
End Function
这样建立的表的名字不是当天日期而是"fname",不知道哪里有问题,请高手看看
问题补充:
XlsApp.ActiveWorkbook.SaveAs("d:\fname.xls")
改为XlsApp.ActiveWorkbook.SaveAs(fname)还是不行,我把这段代码放在按钮左键的事件里,运行.左键5次后发现只在进程里有5个excel.exe,还是没有建立当天日期为名的excel
还是不行,先搁一下这个问题
最佳答案
首先必须确认你的fname能否作为正确的文件名,从你的代码来看,首先Date并没有赋值,其次你并没有指定格式,因此fname的值为D:\00:00:00.XLS,此文件名非法,因此没有创建成功。
可将代码修改为dstr = FormatDateTime(Now,2)
以下为FormatDateTime函数参考:
FormatDateTime(Date[,NamedFormat])
NamedFormat参数的设置值如下:
常数 值 描述
vbGeneralDate 0 显示日期和/或时间。如果有日期部分,则用短日期格式显示。如果有时间部分,则用长时间格式显示。如果都有,两部分都显示。
vbLongDate 1 用计算机区域设置值中指定的长日期格式显示日期。
vbShortDate 2 用计算机区域设置值中指定的短日期格式显示日期。
vbLongTime 3 用计算机区域设置值中指定的时间格式显示时间。
vbShortTime 4 用24小时格式(hh:mm)显示时间
提问者对于答案的评价:
是格式的问题,谢谢
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc277654.html