DataObject 对象是转移操作中所使用的带格式文本数据的中转区。该对象还保留了与 DataObject 中保存的各段文本相对应的格式列表。
UserForm 对象
|
DataObject 对象
说明
DataObject 对象能够保存一段“剪贴板”文本格式的文本,并能为每种附加的文本格式(例如自定义和用户定义的格式)保存一段文本。
DataObject 对象与“剪贴板”不同。DataObject 支持与“剪贴板”及文本的拖放操作有关的命令。在开始进行与“剪贴板”有关的操作(如 GetText)或拖放操作时,与该操作有关的数据会被移到 DataObject 对象中。
DataObject 对象的工作方式与“剪贴板”很相象。如果将一串文本复制到 DataObject 对象,DataObject 对象将保存该文本。如果将相同格式的第二段文本复制到该 DataObject 对象,则 DataObject 对象将清除前一文本,并保存第二段的文本。对于每种指定的格式,它保存一段从最近一次操作得到的文本。
DataObject 和“剪贴板”的区别
参阅 特性
DataObject 和“剪贴板”都提供了将数据从一处移到另一处的方法。作为应用程序开发人员,无论是使用 DataObject 还是使用“剪贴板”,都要记住下列几项要点:
只要各项数据具有不同的数据格式,DataObject 和“剪贴板”就都可以同时保存多项数据。但是如果已经有数据使用了要保存数据的格式,则保存这个新数据,并丢弃原来的数据。
“剪贴板”支持图片格式和文本格式。而 DataObject 目前只支持文本格式。
只有应用程序运行时,DataObject 才存在;而“剪贴板”则是始终运行的(与正在运行的操作系统同时存在)。这意味着,将数据放到“剪贴板”后,如果关闭了应用程序,“剪贴板”上的数据不会丢失。DataObject 则没有这个功能。如果关闭应用程序,该应用程序放置在 DataObject 上的数据就会丢失。
DataObject 是一个标准的 OLE 对象,而“剪贴板”不是。这意味着,“剪贴板”支持标准的移动操作(复制、剪切和粘贴),但不支持拖放操作。如果需要应用程序支持拖放操作,就必须使用 DataObject。
提示
当用 SetText 方法将数据移动到“剪贴板”或 DataObject 时,可定义自己的数据格式名称。这样便于区分是应用程序移动的文本还是用户移动的文本。
VBA操作剪贴板数据
一、设置剪贴板内容
'仅对窗体有效,DataObject 是MSFORM子类
Dim MyData As New DataObject '声明新DataObject 类
MyData.SetText "文本内容" '设定文本,可以将Me.TextBox1.Text作为文本传递
MyData.PutInClipboard '送入剪贴板
二、读取剪贴板内容
Function GetClipBoardText()
'将剪贴板中的文本输出到一变量。
Dim MyData As DataObject
Set MyData = New DataObject
' 如果剪贴板的数据是文本
If MyData.GetFormat(1) = True Then
' 从剪贴板中获得数据
MyData.GetFromClipboard
' 把数据返回给函数值
GetClipBoardText = MyData.GetText(1)
End If
End Function
分享到:
相关推荐
' 将BASE64字符串设置为DataObject的数据 data.SetProperty "Data", base64String data.SetProperty "DataType", 2 ' 2表示Base64 ' 解码并返回二进制数据 Base64Decode = data.Binary End Function ``` 3. ...
5. **变量与数据类型(Variables and Data Types)**:VBA支持多种数据类型,如Integer、Double、String、Boolean等,用于存储不同类型的数据。变量用于临时存储和处理数据。 6. **控制结构(Control Structures)*...
Spreadsheet控件,也被称为MSForms.DataObject,是从Excel工作簿中内嵌到VBA工程的一种组件。它允许在VBA程序中创建交互式的表格,而不必打开完整的Excel应用程序。这对于处理小规模数据、展示数据或者进行简单的...
在Excel VBA(Visual Basic for Applications)中,批量导入和导出TXT文件是一项常见的任务,尤其对于处理大量数据时非常实用。本篇文章将详细介绍如何利用VBA实现这一功能。 首先,我们来理解VBA的基本概念。VBA是...
在实际应用中,我们可以根据需要使用不同的Acrobat方法来实现自动化处理,例如,使用`ExportData`方法将PDF文件导出为其他格式,使用`CreateBookmark`方法创建书签,使用`AddWatermark`方法添加水印等。 需要注意的...
- **Data**: 字典中所有项的集合。 - **Keys**: 字典中所有关键字的集合。 ##### 2. 方法 字典对象的核心方法如下: - **Add**: 向字典中添加一个新的键值对。 - **Keys**: 返回字典中所有关键字的集合。 - **...
此外,VBA还可以通过ADO(ActiveX Data Objects)库与Access数据库交互,但DAO通常更适用于Office内部的数据库操作,因为它更快且更简洁。然而,如果你需要更高级的功能,如连接到其他类型的数据库,ADO可能是一个更...
软件环境: Windows 10(测试时使用系统) MySQL 5.5.20 MySql ODBC 5.3 Unicode Driver (32位系统安装mysql-connector-odbc-5.3.4-win32 ... Microsoft ActiveX Data Object Recordset 2.8 Library
VBA(Visual Basic for Applications)是Microsoft Office套件中内置的一种编程语言,允许用户自定义功能和自动化任务。在Excel中,VBA可以用来处理大量数据,并执行各种操作,包括将工作表的内容转换成XML...
这可以在VBA编辑器的“工具”菜单中选择“引用”,然后勾选“Microsoft ActiveX Data Objects 2.8 Library”和“Microsoft ActiveX Data Object Recordset 2.8 Library”。 **链接MySQL** \- 在VBA中连接MySQL通常...
CREATE OBJECT lo_qr_code. lo_qr_code->set_input_data( iv_input_data = lv_input_data ). lo_qr_code->generate_qr_code( ). ``` 在上面的代码中,我们首先创建了一个 OCX 控件对象,然后将输入数据传递给 OCX...
8. **引用库**:VBA可以引用外部库(如Microsoft Excel Object Library,Microsoft ActiveX Data Objects等),以使用更多的对象和功能。 9. **数组与集合**:VBA支持一维和多维数组,以及集合对象,它们在处理大量...
2. **对象模型(Object Model)**: VBA的编程基础是对象模型,每个Office应用都有自己的对象模型。在Excel中,有Workbook、Worksheet、Range等对象,通过这些对象,我们可以访问和操作单元格、公式、图表等元素。 3...
VBA通过ADO(ActiveX Data Objects)来连接和操作Access数据库。ADO是一种用于访问和操纵数据库的数据访问技术,它可以与多种数据库进行交互,包括Access、SQL Server、Oracle等。在VBA环境中,通过引用ADO组件,...
- **标签对象(Tag Object):** 标签在SE中的表示不是简单的变量,而是一个对象。因此,对标签的操作需通过标签对象来进行。 - **标签的读写:** 通过`TagObj.Value`可以读取标签当前的值,也可以修改其值。 #### 二、...
这可以使用ListObject对象实现,创建表格并与Recordset关联。 5. 自动化更新:通过VBA,可以设置定时任务或触发器,实现数据的自动更新。例如,当数据库中的数据发生变化时,Excel工作表会同步更新。 6. 用户界面...
11. **引用库**:VBA可以引用外部库,如Microsoft Excel Object Library、Microsoft Word Object Library等,扩展其功能。 12. **事件处理**:理解VBA事件编程,当特定事件触发时,相应代码会自动执行,如Sheet的...
Dim conn As Object, rs As Object Set conn = CreateObject("ADODB.Connection") Set rs = CreateObject("ADODB.Recordset") conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Your\Database....
在VBA编辑器中,选择"工具" -> "引用",然后勾选"Microsoft Access x.x Object Library"(这里的x.x代表Access的版本号)。这样,我们就可以使用DAO(Data Access Objects)或ADO(ActiveX Data Objects)来与Access...
DAO(Data Access Object)是数据库访问对象,是Microsoft Access中用于与数据库进行交互的一种编程模型。DAO对象模型允许程序员通过VBA(Visual Basic for Applications)语言来设计和编写处理数据的函数和过程,...