最近在 vba 做自动化测试,然后现在需要修改每一本excel的参照,有没有可以统一修改的方法啊。因为后续可能需要经常这样操作。
1条回答 默认 最新
- xia0xin 2023-03-27 23:56关注
可以通过 VBA 代码批量修改每个 Excel 文件的参照。以下是一些示例代码,可以帮助你开始:
修改所有打开的工作簿的参照
Sub ChangeRef() Dim wk As Workbook For Each wk In Workbooks '修改参照代码 wk.ChangeLink "oldPath", "newPath", xlExcelLinks Next wk End Sub
修改一个指定文件夹内所有工作簿的参照
Sub ChangeRefInFolder() Dim fs As Object, f As Object, wb As Workbook Dim folderPath As String, oldPath As String, newPath As String '指定文件夹路径 folderPath = "C:\Users\UserName\Desktop\TestFolder\" '指定旧路径和新路径 oldPath = "C:\OldPath\" newPath = "C:\NewPath\" Set fs = CreateObject("Scripting.FileSystemObject") Set f = fs.GetFolder(folderPath) For Each f In f.Files If Right(f.Name, 4) = "xlsx" Then Set wb = Workbooks.Open(f.Path, UpdateLinks:=False) '修改参照代码 wb.ChangeLink oldPath, newPath, xlExcelLinks wb.Close SaveChanges:=True End If Next End Sub
这些代码可以根据你的具体需求进行修改。注意,在修改参照之前最好先备份原始文件,以免发生不可预知的问题。
解决 无用评论 打赏 举报
悬赏问题
- ¥500 服务器搭建cisco AnyConnect vpn
- ¥15 用大厂网站防红自己网站
- ¥15 悬赏Python-playwright部署在centos7上
- ¥15 psoc creator软件有没有人能远程安装啊
- ¥15 快速扫描算法求解Eikonal方程咨询
- ¥20 我的是道格手机,重置后屏幕右上角出现红色字的未写入tee key 和未写入google key请问怎么去掉啊
- ¥15 校内二手商品转让网站
- ¥20 高德地图聚合图层MarkerCluster聚合多个点,但是ClusterData只有其中部分数据,原因应该是有经纬度重合的地方点,现在我想让ClusterData显示所有点的信息,如何实现?
- ¥100 求Web版SPC控制图程序包调式
- ¥20 指导如何跑通以下两个Github代码