当前位置: 首页 > news >正文

word批量导出visio图

具体步骤

  • 修改word格式
  • 打开VBA窗口
  • 插入代码
  • 运行代码

修改word格式

在这里插入图片描述
将word文档修改为docm格式

打开VBA窗口

在这里插入图片描述
打开开发工具VisualBasic项,如果没有右键在自定义功能区添加

插入代码

在这里插入图片描述
插入 -> 模块,代码如下:

Sub ExportAllVisioDiagrams()Dim shp As InlineShapeDim i As IntegerDim savePath As StringDim docName As StringDim visioApp As ObjectDim visioDoc As ObjectDim startTime As Double' 设置保存路径(修改为您想要的路径)savePath = "C:\Users\"' 创建文件夹(如果不存在)If Dir(savePath, vbDirectory) = "" Then MkDir savePath' 获取文档名称(不含扩展名)If ActiveDocument.Name Like "*.*" ThendocName = Left(ActiveDocument.Name, InStrRev(ActiveDocument.Name, ".") - 1)ElsedocName = ActiveDocument.NameEnd If' 创建Visio应用实例Set visioApp = CreateObject("Visio.Application")visioApp.Visible = True ' 设置为可见以便调试i = 1For Each shp In ActiveDocument.InlineShapesIf shp.Type = wdInlineShapeEmbeddedOLEObject ThenIf InStr(1, shp.OLEFormat.ProgID, "Visio", vbTextCompare) > 0 ThenOn Error Resume Next' 激活并选择Visio对象内容shp.OLEFormat.Activateshp.OLEFormat.Object.Application.ActiveWindow.SelectAllshp.OLEFormat.Object.Application.ActiveWindow.Selection.Copy' 创建新Visio文档Set visioDoc = visioApp.Documents.Add("")' 添加延迟确保复制完成startTime = TimerDo While Timer < startTime + 1DoEventsLoop' 粘贴内容visioApp.ActiveWindow.Page.Paste' 保存文件visioDoc.SaveAs savePath & docName & "_Diagram" & i & ".vsdx"If Err.Number <> 0 ThenvisioDoc.SaveAs savePath & docName & "_Diagram" & i & ".vsd"End IfvisioDoc.CloseSet visioDoc = Nothingi = i + 1' 每处理3个图表后增加延迟If i Mod 3 = 0 ThenstartTime = TimerDo While Timer < startTime + 2 ' 延迟2秒DoEventsLoopEnd IfOn Error GoTo 0End IfEnd IfNext shp' 关闭VisiovisioApp.QuitSet visioApp = NothingMsgBox "已导出 " & (i - 1) & " 个Visio图表到 " & savePath
End Sub

运行代码

在这里插入图片描述
点击运行 -> 运行子过程即可

相关文章:

  • Nginx--手写脚本压缩和切分日志(也适用于docker)
  • 【Java实战】集合排序方法与长度获取方法辨析(易懂版)
  • Python实现VTK-自学笔记(5):在三维世界里自由舞蹈——高级交互与动态可视化
  • 得物Java开发面试题及参考答案(下)
  • 力扣面试150题--完全二叉树的节点个数
  • 【数据结构】单链表练习
  • openresty+lua+redis把非正常访问的域名加入黑名单
  • 百度ocr的简单封装
  • AWS之AI服务
  • 基于Python的简易聊天机器人实现:从原理到实践
  • AWS WebRTC:获取信令服务节点和ICE服务节点
  • SAP-ABAP:在DEBUG过程中修改内表中的数据的方法详解
  • go并发与锁之sync.Mutex入门
  • 鸿蒙仓颉开发语言实战教程:自定义组件
  • ubuntu2x.xx网络不通如何解决
  • 使用requestAnimationFrame编写动画效果或者处理大量数据
  • 基于Java,SpringBoot,Vue,UniAPP宠物洗护医疗喂养预约服务商城小程序管理系统设计
  • OpenGL Chan视频学习-9 Index Buffers inOpenGL
  • Netty创新架构突破链接数瓶颈技术,如何应用于新能源汽车智慧充电桩?
  • Elasticsearch的运维
  • 衡水企业做网站多少钱/互联网优化是什么意思
  • 做网站服务器一年多少钱/合肥网站
  • 网站重构案例/网站seo在线优化
  • 黄埔做网站的公/网站优化的方法与技巧
  • 网站开发会什么/公司网站怎么注册
  • 柳州哪里有网站建设/谷歌浏览器安卓版下载