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

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

运行代码

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

相关文章:

word批量导出visio图

具体步骤 修改word格式打开VBA窗口插入代码运行代码 修改word格式 将word文档修改为docm格式 打开VBA窗口 打开开发工具VisualBasic项&#xff0c;如果没有右键在自定义功能区添加 插入代码 插入 -> 模块&#xff0c;代码如下&#xff1a; Sub ExportAllVisioDiagrams()D…...

把数据库做得能扩展:Aurora DSQL 的故事

把数据库做得能扩展&#xff1a;Aurora DSQL 的故事 我们在 AWS re:Invent 上发布了 Aurora DSQL&#xff0c;这是一个全新方式构建关系型数据库的尝试。它不是单纯的技术升级&#xff0c;而是一段从零开始、反复试错、不断学习的工程旅程。 我们为什么做 Aurora DSQL&#x…...

全面解析:npm 命令、package.json 结构与 Vite 详解

全面解析&#xff1a;npm 命令、package.json 结构与 Vite 详解 一、npm run dev 和 npm run build 命令解析 1. npm run dev 作用&#xff1a;启动开发服务器&#xff0c;用于本地开发原理&#xff1a; 启动 Vite 开发服务器提供实时热更新&#xff08;HMR&#xff09;功能…...

【本地部署】 Deepseek+Dify创建工作流

文章目录 DeepseekDify 简介流程1、下载Docker2、Dify下载3、使用浏览器打开 Deepseek Deepseek 是一款功能强大的 AI 语言模型工具&#xff0c;具备出色的理解与生成能力。它可以处理各种自然语言任务&#xff0c;无论是文本创作、问答&#xff0c;还是数据分析与解释&#x…...

Rust 配置解析`serde` + `toml`

&#x1f980; Rust 配置解析&#xff1a;彻底搞懂 TOML、Option、Vec、derive 背后的原理 &#x1f4cc; 目录 什么是 TOML 文件&#xff1f;为什么要用 serde toml crate&#xff1f;结构体上 #[derive(...)] 是什么&#xff1f;配置中数组 [] 和表数组 [[...]] 怎么用&…...

linux进程用户态内存泄露问题从进程角度跟踪举例

我们习惯性的会看下那个进程在泄漏内存&#xff0c;我这里使用一个test_malloc的测试进程&#xff0c;该进程每2秒钟会分配一个10000字节的空间&#xff0c;并作简单赋值&#xff08;注意&#xff1a;如果仅malloc而不使用&#xff0c;编译器会优化&#xff0c;实际测试时将看不…...

数据结构-图的应用,实现环形校验和拓扑排序

文章目录 一、如何理解“图”&#xff1f;1.什么是图&#xff1f;2.无向图和有向图3.无权图和有权图 二、JGraphT-图论数据结构和算法的 Java 库1.引入Maven依赖2.环形校验2.1 什么是循环依赖 &#xff1f;2.2 单元测试代码2.3 情况1&#xff1a;自己依赖自己2.4 情况2&#xf…...

交换机 路由器

在计算机网络中&#xff0c;S 和 R 常常分别代表以下设备&#xff1a; S&#xff1a;Switch&#xff08;交换机&#xff09;R&#xff1a;Router&#xff08;路由器&#xff09; 简要说明&#xff1a; Switch&#xff08;交换机&#xff0c;S&#xff09; 交换机工作在数据链…...

某乎x-zse-96 破解(补环境版本)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、总体概述二、请求分析分析请求流程三、逆向分析总结一、总体概述 本文主要实现某乎x-zse-96 破解(补环境版本),相关的链接: https://www.zhihu.com/search?type=content&q=%25E7%258…...

VSCode+Cline 安装配置及使用说明

安装配置 打开VSCode&#xff0c;点击左侧Extension图标&#xff0c;在弹出页面中&#xff0c;检索Cline&#xff0c;选择Cline进行安装。 安装完毕&#xff0c;在左侧会出现一个图标&#xff0c;点击图标 选择【Use your own API key】&#xff0c;在出来的界面中选择大模型&…...

Java中Redis面试题集锦(含过期策略详解)

&#x1f91f;致敬读者 &#x1f7e9;感谢阅读&#x1f7e6;笑口常开&#x1f7ea;生日快乐⬛早点睡觉 &#x1f4d8;博主相关 &#x1f7e7;博主信息&#x1f7e8;博客首页&#x1f7eb;专栏推荐&#x1f7e5;活动信息 文章目录 Java中Redis面试题集锦&#xff08;含过期策…...

Maven 安装与配置指南(适用于 Windows、Linux 和 macOS)

Apache Maven 是一款广泛应用于 Java 项目的项目管理和构建工具。 本文提供在 Windows、Linux 和 macOS 系统上安装与配置 Maven 的详细步骤&#xff0c;旨在帮助开发者快速搭建高效的构建环境。 一、前置条件&#xff1a;安装 Java Development Kit (JDK) Maven 依赖于 Java …...

android 媒体框架之MediaCodec

一、MediaCodec 整体架构与设计思想 MediaCodec 是 Android 底层多媒体框架的核心组件&#xff0c;负责高效处理音视频编解码任务。其架构采用 生产者-消费者模型&#xff0c;通过双缓冲区队列&#xff08;输入/输出&#xff09;实现异步数据处理&#xff1a; 输入缓冲区队列…...

堆与堆排序及 Top-K 问题解析:从原理到实践

一、堆的本质与核心特性 堆是一种基于完全二叉树的数据结构&#xff0c;其核心特性为父节点与子节点的数值关系&#xff0c;分为大堆和小堆两类&#xff1a; 大堆&#xff1a;每个父节点的值均大于或等于其子节点的值&#xff0c;堆顶元素为最大值。如: 小堆&#xff1a;每个…...

Linux中检查当前用户是不是root

Linux中检查当前用户是不是root 检查当前用户是否为root用户。如果是root用户&#xff0c;输出“当前用户是root”&#xff1b;否则&#xff0c;输出“当前用户不是root”。 创建一个 aaa.sh脚本文件 写入如下内容 #!/bin/bash# 检查当前用户的UID是否为0&#xff08;root用…...

软件锁:守护隐私,安心无忧

数字化时代&#xff0c;手机已成为我们生活中不可或缺的一部分&#xff0c;它不仅存储着我们的个人信息、照片、聊天记录等重要数据&#xff0c;还承载着我们的社交、娱乐和工作等多种功能。然而&#xff0c;这也意味着手机上的隐私信息面临着诸多泄露风险。无论是家人、朋友还…...

无人机桥梁3D建模、巡检、检测的航线规划

无人机桥梁3D建模、巡检、检测的航线规划 无人机在3D建模、巡检和检测任务中的航线规划存在显著差异&#xff0c;主要体现在飞行高度、航线模式、精度要求和传感器配置等方面。以下是三者的详细对比分析&#xff1a; 1. 核心目标差异 任务类型主要目标典型应用场景3D建模 生成…...

项目:贪吃蛇实现

头文件 snake.h #include<stdio.h> #include<stdlib.h> #include<windows.h> #include<locale.h> #include<stdbool.h> #include<time.h>#define POS_X 24#define POS_Y 5 #define BODY L● #define FOOD L★ #define KEY_PRESS(VK) ((…...

【Java基础05】面向对象01

文章目录 1. 设计对象并使用1.1 类与对象1.2 封装1.2.1 private关键字1.2.2 this关键字成员变量和局部变量的区别 1.2.3 构造方法1.2.4 标准JavaBean类 1.3 对象内存图 本文部分参考这篇博客 1. 设计对象并使用 1.1 类与对象 public class 类名{1、成员变量(代表属性,一般是名…...

设计模式:观察者模式 - 实战

一、观察者模式场景 1.1 什么是观察者模式&#xff1f; 观察者模式&#xff08;Observer Pattern&#xff09;观察者模式是一种行为型设计模式&#xff0c;用于定义一种一对多的依赖关系&#xff0c;当对象的状态发生变化时&#xff0c;所有依赖于它的对象都会自动收到通知并更…...

8.8 Primary ODSA service without ODSA Portal

主要ODSA服务&#xff08;不使用ODSA门户&#xff09; 以下场景描述如下情况&#xff1a; • 主ODSA客户端应用程序被允许用于该类型的主设备&#xff0c;且对终端用户启用&#xff08;已授权&#xff09;。 • 服务提供商&#xff08;SP&#xff09;能够在不涉及ODSA门户Web服…...

YOLOv8 移动端升级:借助 GhostNetv2 主干网络,实现高效特征提取

文章目录 引言GhostNetv2概述GhostNet回顾GhostNetv2创新 YOLOv8主干网络改进原YOLOv8主干分析GhostNetv2主干替换方案整体架构设计关键模块实现 完整主干网络实现YOLOv8集成与训练模型集成训练技巧 性能对比与分析计算复杂度对比优势分析 部署优化建议结论与展望 引言 目标检…...

国产化Word处理控件Spire.Doc教程:在 C# 中打印 Word 文档终极指南

在 C# 中以编程方式打印 Word 文档可以简化业务工作流程、自动化报告和增强文档管理系统。本指南全面探讨如何使用Spire.Doc for .NET打印 Word 文档&#xff0c;涵盖从基本打印到高级自定义技术的所有内容。我们将逐步介绍每种情况下的实际代码示例&#xff0c;确保您能够在实…...

java的vscode扩展插件

在 Visual Studio Code (VSCode) 中&#xff0c;Java 开发可以通过多种方式得到支持&#xff0c;包括安装专门的扩展插件。下面是一些流行的 VSCode 扩展插件&#xff0c;可以帮助你更好地进行 Java 开发&#xff1a; Language Support for Java(TM) by Red Hat 官方支持&…...

谷歌:贝叶斯框架优化LLM推理反思

&#x1f4d6;标题&#xff1a;Beyond Markovian: Reflective Exploration via Bayes-Adaptive RL for LLM Reasoning &#x1f310;来源&#xff1a;arXiv, 2505.20561 &#x1f31f;摘要 通过强化学习 (RL) 训练的大型语言模型 (LLM) 表现出强大的推理能力和紧急反射行为&a…...

Qt SQL模块基础

Qt SQL模块基础 一、Qt SQL模块支持的数据库 官方帮助文档中的Qt支持的数据库驱动如下图&#xff1a; Qt SQL 模块中提供了一些常见的数据库驱动&#xff0c;包括网络型数据库&#xff0c;如Qracle、MS SQL Server、MySQL等&#xff0c;也包括简单的单机型数据库。 Qt SQL支…...

[9-3] 串口发送串口发送+接收 江协科技学习笔记(26个知识点)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26中断...

java 微服务中,微服务相互调用 feign 和flux 如何选择

在 Java 微服务中&#xff0c;Feign 和 Flux&#xff08;通过 WebClient 实现&#xff09;是两种不同的服务间调用方式&#xff0c;主要区别体现在编程模型、通信机制和适用场景上。 1. 编程模型 FeignFlux (WebClient)同步阻塞式&#xff1a;基于传统 Servlet 模型&#xff0…...

如何在Qt中绘制一个带有动画的弧形进度条?

如何在Qt中绘制一个弧形的进度条 在图形用户界面开发中&#xff0c;进度指示控件&#xff08;Progress Widget&#xff09;是非常常见且实用的组件。CCArcProgressWidget 是一个继承自 QWidget 的自定义控件&#xff0c;用于绘制圆弧形进度条。当然&#xff0c;笔者看了眼公开…...

参加技术会议,为程序人生的职业生涯成长添砖加瓦

参加技术会议,为程序人生的职业生涯成长添砖加瓦 关键词:技术会议、程序员职业生涯、职业成长、技术交流、人脉拓展、知识体系升级、职业竞争力 摘要:在快速迭代的IT技术领域,参加技术会议已成为程序员突破职业瓶颈、构建核心竞争力的重要途径。本文从技术会议的核心价值出…...