在VB中从剪贴板复制到数组
Posted
技术标签:
【中文标题】在VB中从剪贴板复制到数组【英文标题】:Copy from clipboard to array in VB 【发布时间】:2016-07-22 19:01:58 【问题描述】:我在这里尝试使用拆分功能。我试图从剪贴板中获取内容,然后将其存储到一个数组中,然后用我从数组中得到的任何内容填充主题行。但我总是收到类型不匹配错误。我会很感激一些帮助。这是我的代码
Dim DataObj As MsForms.DataObject
Set DataObj = New MsForms.DataObject
Dim varArray() As Variant
Dim myString As String
'Get data from the clipboard.
DataObj.GetFromClipboard
'Get clipboard contents
myString = DataObj.GetText
varArray() = Split(myString, Chr(10))
With OutMail
.BodyFormat = 3
.To = ""
.CC = ""
.BCC = ""
.subject = varArray(0) & " - " & varArray(2) & " - " & varArray(4)
Set olInsp = .GetInspector
Set wdDoc = olInsp.WordEditor
Set oRng = wdDoc.Range
oRng.collapse 1
oRng.Paste
.Display
End With
On Error GoTo 0
【问题讨论】:
【参考方案1】:改变
Dim varArray() As Variant
到 Dim varArray () as String
另外,varArray = Split(myString, Chr(10))
也可以。
【讨论】:
我测试了它,你说对了一半。但足以让我的+1。如果你尝试将一个字符串数组分配给一个变体数组(例如Dim varArray() As Variant : varArray() = Split(myString, Chr(10))
),它会抛出一个Type Mismatch Error
。如果您为其分配一个变体数组(例如 varArray() = Array()",则不会出现错误。如果您尝试使用 () 为变体 Dim varArray As Variant
分配一个值,则会引发 Script out of range
错误。当然,您可以将数组字符串分配给没有错误的常规变体。以上是关于在VB中从剪贴板复制到数组的主要内容,如果未能解决你的问题,请参考以下文章
VB中 如何复制Text1.text的字体到剪贴板? 如何剪切?