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**: 返回字典中所有关键字的集合。 - **...
软件环境: 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还可以通过ADO(ActiveX Data Objects)库与Access数据库交互,但DAO通常更适用于Office内部的数据库操作,因为它更快且更简洁。然而,如果你需要更高级的功能,如连接到其他类型的数据库,ADO可能是一个更...
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通常...
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`可以读取标签当前的值,也可以修改其值。 #### 二、...
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...
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)语言来设计和编写处理数据的函数和过程,...
要使用 VBA 链接 SQL 数据库,需要使用 ADO(ActiveX Data Objects)技术。ADO 提供了一种统一的方式来访问各种数据源,包括关系数据库、文本文件、Excel 表格等。在 Excel 中,可以使用 VBA 来创建 ADO 对象,连接...