有关实现Excel控件另存为功能的VB代码

举报 回答
有关实现Excel控件另存为功能的VB代码
问在线客服
扫码问在线客服

想设计一个控件代码,实现在对打开的EXCEL表格打印的同时自动另存为指定目录下以当前日期命名的XLS文件,并且最好同时实现同文件名自动覆盖,高手帮帮忙

  • 回答数

    5

  • 浏览数

    7,036

举报 回答

5个回答 默认排序
  • 默认排序
  • 按时间排序

没找到满意答案?去问秘塔AI搜索
取消 复制问题
已采纳
哎哟这代码我熟!就是打印完自动存个带日期的Excel,但老提示文件已存在不能覆盖对吧?
咱得先瞅一眼目标文件夹里有没有同名文件,有就咔嚓删掉,再安心保存!
原版直接SaveAs硬刚,肯定报错啊~
改完是酱紫的:
先啪一下打印当前页(Copies:=1);
路径写死在D:shuju,文件名按emmdd.xls格式生成(比如3月15号就是em0315.xls);
重点来了——用Dir()去翻翻这个路径下有没有同名文件,真有?直接Kill干掉!
最后才SaveAs,稳稳当当不打架~
再也不用手动删旧文件or点替换了,懒人福音!
(小声:emmdd是Excel日期格式缩写,em=月,dd=日,别手抖打成ymd哈~)
取消 评论
'举个例子:将D盘下b.xlsx另存为将D盘下test.xlsx'引用Microsoft Excel 12.0 Object Library,版本不太一样,有可能是14Private Sub Command1_Click() Dim xlsApp As Excel.ApplicationDim xlsWorkbook As Excel.WorkbookDim xlssheet As Excel.WorksheetSet xlsApp = CreateObject(Excel.Application)Set xlsWorkbook = xlsApp.Workbooks.Open(D:\b.xlsx) Set xlssheet = xlsWorkbook.Worksheets(1)xlsApp.Visible = False xlsWorkbook.SaveAs D:\test.xlsx '另存文件xlsApp.Quit Set xlssheet = Nothing Set xlsWorkbook = Nothing Set xlsApp = Nothing End Sub
取消 评论
自己录一段宏再修改代码。

按钮中插入如下代码

Application.Dialogs(596).Show
取消 评论
excel文件无法直接保存,点保存会自动提示另存为的原因如下:
1、文件身是只读的,或以只读的方式打开的,
2、你这个文件本身是非EXCEL文件(如文本文件),但你当时用了EXCEL为打开方式,所以在EXCEL编辑过后就不能在EXCEL中直接保存,只能另存了,
3、excel软件出现问题,
4、病毒影响。
一般来说解决的方法是,新建一空白文档,看保存是不是正常,如果正常说明excel软件没有问题,无病毒,如果新建的都无法保存,说明需要清理病毒,修复excel软件。
如果excel软件正常,可以检查一下要开的文档的情况,是否有只读设置,是否格式不对,是否文档本身有限制等。可以考虑,新建一个,把内容复制到新建的文档中,这样就应该正常了。
取消 评论
很简单,录制宏,点击录制按钮之后,把你想做的事情做一遍,然后停止录制。
取消 评论
ZOL问答 > 有关实现Excel控件另存为功能的VB代码

举报

感谢您为社区的和谐贡献力量请选择举报类型

举报成功

经过核实后将会做出处理
感谢您为社区和谐做出贡献

扫码参与新品0元试用
晒单、顶楼豪礼等你拿

扫一扫,关注我们
提示

确定要取消此次报名,退出该活动?