2016-07-22 24 views
2

我想在這裏使用拆分功能。我試圖從剪貼板獲取內容,然後將其存儲到數組中,然後使用從數組中獲得的任何內容填充主題行。但我總是得到一個類型不匹配的錯誤。我會感謝一些幫助。這裏是我的代碼從剪貼板複製到VB中的數組

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 VariantDim varArray() as String

varArray = Split(myString, Chr(10))是罰款。

+0

我測試了它,你是對的。但足以讓我的+1。如果你嘗試將一個字符串數組賦給一個變量數組(例如'Dim varArray()As Variant:varArray()= Split(myString,Chr(10))'',它會拋出一個'Type Mismatch Error'。如果你給變量數組賦值(例如varArray()= Array()),那麼就沒有錯誤。如果你嘗試使用()將一個值賦給變量Dim VarArray As Variant,它會拋出一個'Script out of range '錯誤。當然,您可以將數組字符串指定爲常規變體而不會出錯。 – 2016-07-23 02:38:40