DataObjectFiles
DataObjectFiles对象是DataObject保存的文件路径集合——通常是Windows Shell拖放的有效负载,以vbCFFiles剪贴板格式到达。每个元素是以String保存的完全限定路径。此集合可通过父DataObject的Files属性获取。
此集合是可变的:拖放或剪贴板操作的源端可以使用Add构建列表,目标端使用Item或For Each迭代读回列表。
成员
Add
向集合追加文件路径。
语法:object.Add Filename [ , Index ]
- object
- 必需 求值为DataObjectFiles对象的对象表达式。
- Filename
- 必需 给出要添加文件完全限定路径的String。
- Index
- 可选 标识现有条目的Variant。提供时,新路径插入到该条目之前;如果为数值,Index是
1到Count之间从一开始的位置。省略时,路径追加到末尾。
Clear
从集合中移除所有条目。
语法:object.Clear
- object
- 必需 求值为DataObjectFiles对象的对象表达式。
调用Clear后,Count为0。
Count
返回集合中的路径数量。
语法:object.Count
- object
- 必需 求值为DataObjectFiles对象的对象表达式。
值为Long。Item的有效索引范围从1到Count。
Item
按从一开始的位置从集合中返回一个路径,类型为String。
语法:object.Item( Index )
- object
- 必需 求值为DataObjectFiles对象的对象表达式。
- Index
- 必需 给出要返回路径从一开始位置的Long。必须在
1和Count之间;否则将发生错误。
Item是DataObjectFiles的默认成员,因此以下两行等效:
vb
path = Data.Files.Item(1)
path = Data.Files(1)Remove
从集合中移除单个条目。
语法:object.Remove Index
- object
- 必需 求值为DataObjectFiles对象的对象表达式。
- Index
- 必需 标识要移除条目的Variant。数值被视为
1到Count之间从一开始的位置;字符串与存储的路径匹配。如果没有匹配的条目,将发生错误。
For Each 迭代
DataObjectFiles对象可以使用For Each...Next语句进行迭代,按插入顺序依次产生每个路径。隐藏的_NewEnum成员提供枚举器,不从用户代码直接调用。
vb
Dim Path As Variant
For Each Path In Data.Files
Debug.Print Path
Next Path示例
此示例迭代从Shell拖放接收的DataObjectFiles集合中的文件路径。
vb
Private Sub Form1_OLEDragDrop(Data As DataObject, Effect As Long, _
Button As Integer, Shift As Integer, _
X As Single, Y As Single)
Dim path As Variant
For Each path In Data.Files
Debug.Print path
Next path
End Sub