什么是剪贴板(什么是剪贴板)大家好。今天我们来讲解《VBA信息获取与处理》教程第十一讲“剪贴板在VBA的应用”的第一节“什么是剪贴板”。这个题目是一个非常有用的知识点,希望大家能够掌握和利用。
大家好,在之前的专题讲座中,我曾经讲过一个从网络上抓取数据的细节,就是先把数据放到剪贴板上,然后粘贴到工作表中。你可以看看data 006工作表. xlsm。
子CopyToClipbox程序中,那么什么是剪贴板以及使用它有什么好处呢?对于VBA操作来说,这个知识点有哪些优缺点?我们将解释这个话题。
第一节剪贴板什么是剪贴板
我们在操作文件的时候经常会用到Ctrl+C/X和Ctrl+V,也就是把我们需要的内容复制粘贴到我们需要的地方。这种操作非常符合人们的认知。其实这种动作是先把内容放入剪贴板,也就是专用内存,但是这个操作是在后台进行的,我们没有看到。
1剪贴板剪贴板定义和VBA引用
Windows的帮助文件中有一个描述:剪贴板是从一个地方复制或移动并打算在其他地方使用的信息的临时存储区域域。您可以选择文本或图形,然后使用“剪切”或“复制”命令将所选内容移动到剪贴板,它将存储在剪贴板上,直到使用“粘贴”命令将其插入其他地方。例如,您可能想要复制网站上的部分文本,并将其粘贴到电子邮件中。
对于VBA,MSForms库包含一个名为DataObject的对象,它支持在Windows剪贴板上使用文本字符串。VBA不支持剪贴板上其他非文本值所需的数据类型。要在代码中使用数据对象,必须设置对表单2.0对象库的引用。在VBA添加参考资料如下:
转到VBA编辑器中的“工具”菜单,然后选择“参考”项目。在出现的对话框中,向下滚动列表,直到找到合适的库(常见引用列在列表顶部,然后引用按字母顺序列出)。找到代码需要的引用时,选中引用标题旁边的复选框,然后单击“确定”。
2剪贴板剪贴板对象的特征
这个物体的特点是什么,它是如何工作的?
OpenClipboard中的数据存储在全局内存中,因此大多数windows应用程序都可以访问其中的数据。在观察相关API函数的前提下,应用程序可以自由打开剪贴板,读取剪贴板中的数据(GetClipboardData)。或者清除空剪贴板(EmptyClipboard),然后设置剪贴板中的数据(SetClipboardData),最后关闭剪贴板(关闭剪贴板);
2)独占窗口规定应用程序对剪贴板的访问是独占的。当一个应用程序使用OpenClipboard打开剪贴板时,其他程序不能再访问剪贴板,直到上一个程序使用CloseClipboarD关闭剪贴板。通常,当我们使用剪贴板时,我们不会感到受到其他程序的影响。这是因为剪贴板中的所有数据操作都是在内存中进行的,速度非常快。对于超大数据,应用程序也可以选择延迟渲染机制来保证速度。但是在编程剪贴板的时候要注意:每次使用完剪贴板之后,一定要记得使用CloseClipBoard关闭;不要在OpenClipboard和CloseClipboard之间放置耗时的代码,以免影响其他程序的正常工作。
3)标准设置剪贴板中数据的应用窗口称为剪贴板数据所有者,其句柄可以通过ClipboardOwner函数获取。相反,如果一个应用程序想要将数据放入剪贴板,它首先需要成为剪贴板所有者。要成为剪贴板所有者,程序需要首先将自己的句柄传递给OpenClipboard函数。如果剪贴板中已经有数据,则需要调用EmptyClipboard首先。
4)多个剪贴板可以同时存储多种格式的数据,每个都在全局内存的不同位置;剪贴板中有标准/预定义的数据格式,如文本、位图、Wav声音等。,以及非标准/用户定义的格式,如word中的字段和公式以及Excel中的图表。
5)可检索性对于剪贴板中存储的每种格式,Windows将为其分配一个唯一的长整数。通过这个号码,可以知道对应数据格式的名称(GetClipboardFormatName),或者查询对应数据是否存在于剪贴板中(IsClipBoardFormatAvailable),如果存在,也可以通过这个号码找到对应数据存储在内存中的位置(GetClipboardData)。
对于标准格式,这个数字是固定的,可以通过VB6附带的APIViewer查询以CF_开头的常量来获得,例如:
Public Const CF_TEXT = 1
Public Const CF_BITMAP = 2
Public Const CF_METAFILEPICT = 3
Public Const CF_SYLK = 4
……
对于非标准格式,提供该格式数据的应用程序为该格式定义一个名称,然后将该名称传递给RegisterClipboardFormat函数。如果该名称已经存在,函数将返回与该名称对应的数字。如果此名称不存在,函数将返回一个以前没有使用过的数字,并且此名称和数字可以一直使用,直到系统关闭并重新启动。
6)可监控性有一组特殊的窗口,可以持续监控剪贴板中的数据变化。这组窗口叫做剪贴画,它们组成的小圆圈叫做剪贴画链。每当剪贴板中的数据发生变化时,Windows都会向消息链中的第一个窗口发送一条WM_DRAWCLIPBOARD消息,然后将其转发到第二个窗口...直到消息到达消息链中的最后一个窗口。同样,当消息链中的成员发生变化时,每个窗口都会收到一条WM _ CHANGECBCHAIN消息;通过SetClipboardViewer函数,应用程序可以告诉windows自己的窗口句柄,从而注册为剪贴板查看器链的成员;使用ChangeClipboardChain函数,应用程序可以退出剪贴板观察器链,而不影响其后面的窗口继续接收相关消息。
在这次演讲中,我简单介绍了一些与剪贴板相关的知识,这对大家掌握和利用这个知识点非常有益。事实上,不仅是对VBA的理解,其他语言也大体一致。因为我指的是权威的论述。
3剪贴板剪贴板常规操作
从以上分析,我们可以得出以下结论。剪贴板可用于存储文本和图像等数据。由于所有活动进程共享剪贴板,它可以用于在这些活动进程之间传输数据。剪贴板对象使访问剪贴板、从中读取数据和向其中写入数据变得容易。我们可以使用以下操作:从剪贴板中读取数据;确定剪贴板中存储的文件类型;清除剪贴板数据;将数据写入剪贴板。
这一节知识点背:
1什么是剪贴板?
②剪贴板有什么特点?
③剪贴板有哪些操作?
积木编程的思维内涵;
在我的系列书中,我一直在强调“积木”的编程思想,这也是学习使用VBA的主要方法,尤其是对于专业人士来说。其主要内涵:
1不要自己输入所有代码。你要做的是把构建块放在正确的地方,然后纠正代码。一定要复制,从你的构件库复制,然后改正代码,这样才能利用时间进行高效思考。
2.建立自己的“构件库”。通常在学习过程中,把自己认为有用的代码放在一起,多积累,用的时候随时可以拿来。你的构件库中的信息越多,你对编程的思考就越广泛。
VBA的应用定义
VBA是利用Office实现个人小型办公自动化的有效手段(工具)。这是我对VBA应用的定义。在新的Office软件取代OFFICE到来之前,谁能在数据处理方面做到最好,谁就是王者。其中,VBA的身手最好!
我记得20年前我第一次学习VBA的时候,当时的信息非常少,所以我不得不自己去看源代码并弄清楚。真的很难。二十年过去了。为了防止研究VBA的朋友重复我以前的经验,我根据多年的实践经验推出了六个特别的VBA教程:
第一套:VBA码解是对VBA各知识点的讲解。共有147个教程,涵盖了大多数VBA知识点。提供的程序文件是不可多得的代码宝库,是初学者和中级人员必备的教程。目前本教程提供的版本是修订后的第二版,程序文件已经通过了32位和64位的OFFICE系统测试。
第二套:VBA数据库解决方案数据库是一个专业的数据处理工具。教程详细介绍了用ADO连接ACCDB和EXCEL的方法和示例操作,适合中层人员学习。目前本教程提供了教程的修订版,程序文件通过了32位和64位的OFFICE系统测试。
第三集:VBA数组和字典解数组和字典是VBA的精髓,字典是提升VBA代码水平的有效手段,值得深入研究,是初级和中级人员的代码提升手段。目前本教程提供的版本是修订的第一版,程序文件已经通过了32位和64位的OFFICE系统测试。
第四集:VBA码解的视频是给初学者的视频讲解,可以帮助你快速入门,更快掌握这项技能。本教程是第一个教程(修订版)的视频讲解,听元音更容易接受。本教程还将提供通过32位和64位OFFICE系统测试的附加程序文件。
第五集:VBA课的解读与利用这是高级教程,讲解课的虚无和肉身的程度。虽然课堂使用较少,但认真学习可以促进VBA理论的完善。本教程的理解主要是读者的理解,是一种佛教哲学。
第六门课程:《VBA信息获取与处理》,是一门高级课程,涵盖面更广,实用性更强,面向中高层人员。课程共有二十个主题,包括:跨应用程序的信息获取、随机信息的利用、电子邮件发送、VBA互联网数据捕获、VBA延迟操作、剪贴板应用、Split函数扩展、工作表信息与其他应用程序的交互、FSO对象的利用、工作表和文件夹信息的获取、图形信息的获取以及工作表信息函数的定制等。
以上教程的学习顺序为:1→3→2→6→5或4→3→2→6→5。提供的教程是供读者使用的庞大代码库。如有需要,我们可以微信:NZ9668。
学习VBA是一个过程,你也需要体验一种枯燥的感觉。
“所有的鸟都飞得很高,孤独的云是孤独的。相见不厌,唯敬亭山”。学习的过程也是培养心灵的过程,培养一颗平静的心。在代码的世界里,心是平静的,心情是好的,身体自然是好的。安心是积极的,心中没有那么多关于邪见的恶知识,所以没有那么多妄想。利益就是私利。我的教程帮助正在努力的朋友。
“水善万物而不争”,密而微而默,巨而湍。学习也是如此,知道自己需要什么,不要蜷缩在一个自己认为是天堂的小世界里,等到晚年才发表自欺欺人的言论。努力提升自己,用一颗充满活力的心把握当下,这就是进取。事情越有意义,困难就会越多。愿意自始至终被确定,智慧决定成败。无论遇到什么,都是风景。看淡纷争,看淡得失。学习是渺小而沉默的,而使用它是巨大而动荡的。“在修远路很长,我会上上下下。”
每一次收获都是成长的记录。为什么不呢?正是这种坚持让晨光灿烂。给致力于VBA学习的朋友最后一句话,让每个人都能感受到学习过程的枯燥和执着:
云朵经过,暗语无声,
只有微风惊醒了梦中的莺儿。
看星星,移动北斗,
带上过去的鹅。
大楼里挤满了人,灯光昏暗,
顾长廷。
有多少VBA人,
黑夜里,我静静地做梦,但我希望是黎明。
为什么不呢!
我分享我多年实际工作经验的成果,我喜欢这些对真正需要VBA的同路人有用的东西。回顾学习和使用VBA的记忆,我深受感动。我想用这些话来纪念它。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 ZLME@xxxxxxxx@hotmail.com 举报,一经查实,立刻删除。