ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1965|回复: 3

PPT中用vba批量断开外部链接及更改链接路径的方法

[复制链接]

TA的精华主题

TA的得分主题

发表于 2020-9-12 14:46 | 显示全部楼层 |阅读模式
本帖最后由 moon2778 于 2020-9-29 17:35 编辑

测试了一下,从2013软件版本之后,Excel、PPT的外部链接选项里面,就不能用shift键多选了。10版本及之前是可以的。

QQ截图20200913113158.png



所以考虑用vba解决高版本的问题。如下

批量断开外部链接并停止自动更新的方法:

Sub 断开链接()
Dim sh As Shape
For Each sld In ActivePresentation.Slides
     For Each sh In sld.Shapes
        With sh
        If .Type = msoChart Or .Type = msoLinkedOLEObject Then
            .LinkFormat.AutoUpdate = ppUpdateOptionManual
            .LinkFormat.BreakLink
        End If
        End With
    Next
Next
End Sub


批量修改引用的文件路径的方法
Sub 更改链接()
Dim sh As Shape
For Each sld In ActivePresentation.Slides
     For Each sh In sld.Shapes
        With sh
        If .Type = msoChart Or .Type = msoLinkedOLEObject Then
            .LinkFormat.SourceFullName = "C:\Users\moon\Desktop\课后练习Excel版数据.xlsx"
            .LinkFormat.AutoUpdate = ppUpdateOptionAutomatic
            .LinkFormat.Update
        End If
        End With
    Next
Next
End Sub

将改PPT的所有链接路径设置为PPT文件所在文件夹的同名Excel文件的代码:
Sub 更改链接2()
Dim sh As Shape
Dim exlink As String
Dim thislink As String
Dim nxlink As String
thislink = ActivePresentation.FullName
For Each sld In ActivePresentation.Slides
     For Each sh In sld.Shapes
        With sh
        If .Type = msoChart Or .Type = msoLinkedOLEObject Then
            exlink = .LinkFormat.SourceFullName
            nxlink = Left(thislink, InStrRev(thislink, "\") - 1)
            .LinkFormat.SourceFullName = nxlink & Mid(exlink, InStrRev(exlink, "\"), 99)
            .LinkFormat.AutoUpdate = ppUpdateOptionAutomatic
            .LinkFormat.Update
        End If
        End With
    Next
Next
End Sub



评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2020-9-16 10:47 | 显示全部楼层
这是PPT里面的代码?

点评

嗯  发表于 2020-9-29 17:33

TA的精华主题

TA的得分主题

发表于 2022-6-10 10:25 | 显示全部楼层
f7087c665a5d21a6e43f724dbbc1fcb.png fbb69e0dec64d5b7cc7cf360d37bed0.png 6f7c13b54c358e652371f7f36546930.png

我运行后显示出错了,版主可以帮忙看下吗
谢谢!!
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-21 19:18 , Processed in 0.041112 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表