| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1435 人关注过本帖
标题:VBA2010中 SaveAs 后的变量超长了
只看楼主 加入收藏
znstz
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2018-4-18
结帖率:0
收藏
已结贴  问题点数:20 回复次数:3 
VBA2010中 SaveAs 后的变量超长了
'********************************代码如下:

Sub 导出()
Dim AA As String
   ...
    AA="2018年1月1日至2018年3月31日公司出车四辆大型车辆(货车)出车里程及油料统计表(2018年4月统计).xlsx"

     ....
    Workbooks("总表.xlsm").Worksheets(Array(7,8,9,10)).Copy
ActiveWorkbook.SaveAs AA

End Sub

'***************运行错误‘1004’
’**************怀疑文件名过长,将AA的值改为"大车4",运行正常
'***************BUT ,老板要那个长的名字,只好先出表,再改表名,有没有大侠能帮忙,指点一下,直接出长表名?毕竟,每月都要出一张的。3Q


搜索更多相关主题的帖子: 变量 Sub 统计 运行 错误 
2018-04-18 21:03
znstz
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2018-4-18
收藏
得分:0 
跪求,解!
2018-04-18 21:16
wds1
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:49
帖 子:393
专家分:2025
注 册:2016-3-10
收藏
得分:10 
应该是:路径+文件名过长,所以保存不了
win系统一般为256长度,其他的软件一般都有最大限定
建议:增加判断和改名
1、vba最大支持的长度你可以测试一下
2、如果超过规定长度,将文件名保存为临时变量,按短文件名保存
3、之后利用改名
2018-04-19 08:18
xiangyue0510
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:86
帖 子:941
专家分:5244
注 册:2015-8-10
收藏
得分:10 
这个好像不是超长。为什么报错也没有搞明白
不过代码改动一下就可以(Excel2016测试通过)
AA = "2018年1月1日至2018年3月31日公司出车四辆大型车辆(货车)出车里程及油料统计表(2018年4月统计)"
ActiveWorkbook.SaveAs AA, 51

后面这个51是XlFileFormat格式的枚举,参见https://msdn.
xlExcel8 56 Excel 97-2003 工作簿 *.xls
xlWorkbookDefault 51 默认工作簿 *.xlsx
2018-04-19 08:55
快速回复:VBA2010中 SaveAs 后的变量超长了
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022804 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved