PPT内置宏教程——放映时用控件切换动态图表

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。
由于PPT中有多张类似但不太重要的图表,实际汇报时只挑重点说明,其他的基本略过。因此有必要用可选的方式将这些图表折叠到一张PPT中,为PPT瘦身。
参考资料:

A. 首先要解决内嵌图表的控制问题,无极玄易生在文档“演示PPT中动态控制内嵌图表显示”中已列出可用的代码。
B. 其次是图表本身动态更新的问题,实现方法有很多,不熟悉的朋友可以参考小猪也无奈分享的经验【Excel】INDEX函数制作动态图表,里面已经解说得很清楚了。
C. 再是放映时进入事件的触发问题,大梦空间的博文PowerPoint在播放时自动运行宏中有一些示例。

废话不多说,功能实现步骤如下:

  1. 内嵌图表类型问题。本文使用的是“插入”→“对象”→“Microsoft Excel Chart”
  2. 内嵌图表更新问题。按参考资料B做个全套(Excel数据源、控件数据源、图表数据源、目标单元格)也没关系,仅仅是Excel内置的窗体控件无法在PPT放映时使用罢了。这里需要提示的是,内嵌图表的数据源可以用“粘贴链接”的方式从独立的Excel报表中获取,从而实现动态更新数据源
  3. 内嵌图表格式问题。每个人都要自己的审美,格式方面自己把握,顺便检查一下动态更新时格式是否正常
  4. VBA代码优化记录(无极玄易生的代码可用,但体验不太友好):
    4.1 消除控件操作延迟:原文在获得焦点时更新控件清单,导致选中控件后控件变形,并且必须等待几秒才能正常使用,改为OnSlideShowPageChange事件后不再延迟。
    4.2 减少冗余代码:使用slide2.Shapes(2).OLEFormat.Object的绝对引用方式可避免选错对象,.Clear 可一步清空原备选清单,SourceRng.Offset(0, I - 1).Range(“A1”)偏移方式改为Sh.Range(“N” & I + 2)直引等。
    4.3 自定义调整:SourceRng、TarCell等参数可根据实际表格进行更新,If .ListIndex = -1 Then .ListIndex = 0 用于解决缺省参数显示出错的问题,前次选中的页面保存后即为默认显示项,不必每次重新定位为第一页
  5. 优化后代码如下:
Option Explicit
Dim Wb As Object, Sh As Object, SourceRng As Object, TarCell As Object    '有别于Excel对象,均为Object类型
Sub OnSlideShowPageChange()                             '首次放映时加载“备选项”清单到控件中
If ActivePresentation.SlideShowWindow.View.CurrentShowPosition = 1 ThenDim I As Integer, N As Integer, M As VariantSet Wb = slide2.Shapes(2).OLEFormat.Object          '设置Wb为内嵌的Excel工作簿Set Sh = Wb.worksheets("Sheet1")                    'Sh为指定工作簿Set SourceRng = Sh.Range("N3:N9")                   'SourceRng为备选项对应的单元格区域Set TarCell = Sh.Range("A17")                       'TarCel为目标项对应的单元格With slide2.ComboBox1M = .Value.Clear                                          '更新列表项,实际仅作用于更新后激活功能For I = 1 To SourceRng.Count.AddItem Sh.Range("N" & I + 2)If Sh.Range("N" & I + 2) = M Then N = I - 1Next IIf N = -1 Then.ListIndex = 0                              '缺省默认项则显示第一项Else.ListIndex = N                              '优先按默认项显示End IfTarCell = .Value                                '按目标项修改TarCell单元格的值End With
End If
End Sub
Private Sub Combobox1_change()
TarCell = ComboBox1.Value                               '改变内嵌工作簿中相应单元格的值
End Sub
Private Sub Combobox1_Gotfocus()                        '当控件获得焦点时赋值对象
Dim I As Integer
On Error Resume Next
Set Wb = slide2.Shapes(2).OLEFormat.Object
Set Sh = Wb.worksheets("Sheet1")
Set TarCell = Sh.Range("A17")
End Sub
Private Sub combobox1_lostfocus()                       '当控件失去焦点时释放对象
Set TarCell = Nothing
Set SourceRng = Nothing
Set Sh = Nothing
Set Wb = Nothing
End Sub
  1. 成品显示效果:
    十周设备运转率

懒人专用链接::优先按默认项显示的功能未更新

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/39387.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

客观评价华为的OS鸿蒙系统

论华为的OS鸿蒙系统 现在毫无疑问的是排名靠前的手机厂商都想有自己的操作系统 现在任何一家手机厂商都没有制作出属于自己的操作系统(苹果除外),安卓阵营的任何一家公开市场的手机厂商他们都只造出了身体,核心的系统并没有造出&…

华为鸿蒙系统界面亮相,比Android操作更简单。

现在手机已经很普及了,手机系统主要有两大系统,一个是Android系统,一个是ios系统,但是华为让所有人看到了第三个系统,那就是鸿蒙系统。前不久谷歌宣布不与华为中断合作,那么华为接下来再想推出新手机&#…

重磅,鸿蒙系统底层彻底开源OpenHarmony!

程序员的成长之路 互联网/程序员/技术/资料共享 关注 阅读本文大概需要 5 分钟。 OpenHarmony是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目,目标是面向全场景、全连接、全智能时代,基于开源的方式&#xff…

华为 鸿蒙 操作系统关键特性解读

关注、星标公众号,直达精彩内容 1、计算机为什么需要操作系统? 大部分人认为,操作系统本来就是与计算机(IT设备)一体的。究竟计算机为什么需要操作系统?可能我们并不会去特意想这个问题。 其实,…

HarmonyOS、鸿蒙系统初探、概述

概述 系统定位和技术架构技术特性分布式软总线分布式设备虚拟化分布式数据管理分布式任务调度一次开发,多端部署统一OS,弹性部署 系统安全正确的人正确的设备正确地使用数据 系统定位和技术架构 HarmonyOS是一款“面向未来”、面向全场景(移动…

适合开发人员看的鸿蒙OS介绍~

“ 本文面向的是开发人员,主要想通过科普让大家了解一下鸿蒙开发。 到底什么是鸿蒙 OS 在官网上看到鸿蒙 OS 的简介是,分布式能力造就新硬件、新交互、新服务,打开焕然一新的全场景世界。以及发布会提及最多是他的万物互连,全场景…

鸿蒙系统深入课程1--鸿蒙相比Android的特点及战略(全网最明白的)

课程答疑和新课信息:QQ交流群:422901085进行课程讨论,加群主qq享受 优惠 FrameWork入门课视频链接:https://edu.csdn.net/course/detail/30298 FrameWork实战课1视频链接:https://edu.csdn.net/course/detail/30275 Fr…

鸿蒙之外,腾讯联手中兴发展开源操作系统,与谷歌安卓抗衡

腾讯发展的国产操作系统又有了新盟友,继酷派之后,中兴携它的新支点操作系统加入了腾讯推动的开源操作系统社区OpenCloudOS,这意味着腾讯开始与实力更强的中兴联手推动国产操作系统的发展。 腾讯推动的开源操作系统社区OpenCloudOS此前已有浪潮…

初识鸿蒙OS,你好,HarmonyOS!

为什么会有鸿蒙,出现鸿蒙的意义又是什么呢? 谈到为什么会有HarmonyOS鸿蒙系统,那我们就不得不说说,我们的移动通信技术的发展,现今我们大多数人都使用上5G网络了,回想一下从最初的1G网络到3G再到4G网络&…

谷歌对于鸿蒙的看法,谷歌评价华为鸿蒙系统,被华为鸿蒙系统震惊了

据新闻媒体指谷歌在开发人员交流会上公布了安卓12,发布的合作方名册中沒有华为,安卓12不会再兼容华为手机上,这代表着谷歌和华为已宣布破裂,华为务必让自身鸿蒙系统上线。 很多年前华为就声称自身已经产品研发手机操作系统&#x…

技巧分享:视频配音怎么制作?(内附3种配音教程)

随着科技的发展,越来越多新颖的娱乐项目出现在我们的眼前。而要说现在受人喜欢的一些娱乐项目,那不能不提短视频了。可以说,大部分小伙伴都会接触短视频,例如刷短视频、制作短视频、发布短视频等等。 现在很多小伙伴都喜欢自己制…

视频配音篇,如何使用百度翻译将文本转换为mp3语音?

打开百度翻译 百度翻译:https://fanyi.baidu.com/ 打开开发者工具 点击浏览器右上角按钮,选择更多工具,开发者工具 这里推荐使用Chrome浏览器,当然新版Edge也更换了Chrome内核,操作方式基本相同; 复制需要转…

新手如何选择 视频配音软件(文字转语音)

目录 1.先说结论:完全免费的 剪映配音 可以满足大部分需求 2.五款流行的配音软件优缺点 3.为什么剪映会免费 4.剪映配音:极简教程 4.1 下载、安装剪映: 4.2 新建项目,导入素材 4.3 添加文本 4.4 文本转语音 4.5 导出语音…

什么软件能在线支持视频配音文字转语音?

怎么自己给视频配音?这个问题相信很多小伙伴都有这种烦恼!特别是接触短视频制作的小伙伴应该都知道,想制作一个比较能吸引人的视频vlog,不仅要单靠视频剪辑,还要学会.一帜。那你们知道怎么自己给视频配音?接…

利用CamtasiaStudio软件为英语视频自动添加英文字幕

一、背景说明 Camtasia Studio是美国TechSmith公司出品的屏幕录像和编辑的软件套装。软件提供了强大的屏幕录像(Camtasia Recorder)、视频的剪辑和编辑(Camtasi Studio)、视频菜单制作(Camtasia MenuMaker)、视频剧场(Camtasi Theater)和视频播放功能(Camtasia Playe…

OpenAI Whisper + FFmpeg + TTS:动态实现跨语言视频音频翻译

本文作者系360奇舞团前端开发工程师 摘要: 本文介绍了如何结合 OpenAI Whisper、FFmpeg 和 TTS(Text-to-Speech)技术,以实现将视频翻译为其他语言并更换声音的过程。我们将探讨如何使用 OpenAI Whisper 进行语音识别和翻译&#x…

有哪些翻译视频声音的软件?1分钟教会你视频翻译的技巧

平常喜欢追美剧或韩剧的小伙伴们,是不是会因为没有中文字幕而烦恼呢,其实我们可以借助一些软件将视频内容翻译成中文或其他熟悉的语言,这样也能提高我们的效率。那么,你知道视频翻译软件哪个好吗?今天安利三个日常必备…

视频配音软件免费的有哪些?这三个软件轻松搞定怎么给视频配音

现在越来越多的人选择加入制作短视频的行列当中,一个好的视频往往离不开好的配音,有一个适合的配音是视频的加分项,这个时候我们会选择借助一些软件帮助我们给视频配音,但是市面上的视频配音软件大多数都需要付费,有小…

TTS英文版语音合成(免费),可以用于为paper的视频配音

paper视频配音 1 TTS网址2 方法3 mp3获取的土办法4 captura缺少FFMPEG怎么办?5 参考文献 1 TTS网址 https://www.nuance.com/omni-channel-customer-engagement/voice-and-ivr/text-to-speech.html#! 2 方法 点2中play,就可以播放。 3 mp3获取的土办法 我是采用…

怎么给视频配音?教你四种简单好用的视频配音方法

怎么给视频配音呢?通过配音,我们可以为视频中的视觉效果添加更多的细节和信息。例如,如果视频中有一些场景需要解释,可以添加配音来提供更多的上下文和背景信息。有时候,视频可能需要强调某些重点,以确保观…