excel - 文件夹中的 VB 脚本 RefreshAll(例外)
问题描述
编辑得更具体:
VBScript
下面遍历整个文件夹,在那里打开每个 *.XLSM 文件,刷新所有数据连接并一一保存更新的文件。文件也受密码保护,但这并不重要。
如何根据部分或整个文件名增强代码以避免文件夹中的 文件?例如,避免文件名以z
但是.xlsm
扩展名结尾。
位于同一文件夹中的文件的预期结果:
abc123.xlsm(刷新);abc123z.xlsm(避免);文件.xlsm(刷新);testz.xlsm(避免)
Set fso = CreateObject("Scripting.FileSystemObject")
Set xl = CreateObject("Excel.Application")
xl.Visible = False
For Each f In fso.GetFolder("C:\test\").Files
If LCase(fso.GetExtensionName(f.Name)) = "xlsm" Then
Set wb = xl.Workbooks.Open(f.Path ,,,,,"x")
wb.RefreshAll
wb.Save
wb.Close
End If
Next
xl.Quit
解决方案
您可以尝试使用拆分命令。
file_path =abc123.xlsm
file_name =split(file_path,".")
file_name 是一个包含 2 个值的数组
文件名 (0)=abc123
文件名 (1)=xlsm
现在您可以检查 file_name(0)="Z" 中的最后一个字符是否
if NOT(right(file_name(0),1)="Z") THEN
do...
ELSE
do...
END IF
推荐阅读
- pentaho - 在 Spring 应用程序中验证 pentaho 服务器
- angular - 使用 HTTP 检索数据并使用 ionic 显示在视图中的问题
- android - 获取 ViewSwitcher 中选定视图的值
- angular - 以角度 4 在网格中显示 json 数组
- python - 熊猫数据框货币到数字
- javascript - 用 Vue 初始化时刻的正确方法是什么?
- php - 邮件无法在代码点火器中发送
- google-bigquery - 如何在大查询中将字符串转换为日期
- python-3.x - 过滤具有较高键值的字典列表删除重复的字典
- sql-server - 在交叉连接方面需要帮助