回到vb6和msflexgrid,粘貼文本到這個控件有一個弱點。如果用戶想要在msflexgrid中粘貼一個2 * 3的數組,他應該選擇2行和3列來粘貼數據,否則只有一個單元格會填充msflexgrid(由6個單元格組成)。 我發現如果我colud拆分剪貼板並計算它的行和列這個問題應該解決(基於數組大小選擇msflexgrid單元格)。 我創建了「editpaste」 SUB:vb6和msflexgrid,如何統計剪貼板文本中的列和行
Private Sub EditPaste()
Dim ARRAYLINES As Variant ' array with the lines
Dim ARRAYCELLS As Variant ' array with the cells of 1 line to count the cols needed
Dim ARRAYLINESidx As Integer
'§ put clipboard in a textbox named "cliper"
With cliper
.Text = Clipboard.GetText
If .Text = "" Then
Exit Sub
Else
ARRAYLINES = Split(.Text, Chr(13)) 'i also used the Chr(10) vbnewline andvbCRLF to count the lines
End If
End With
'§ put textbox in grid
If ARRAYLINES(0) = "" Then
Exit Sub
Else
ARRAYCELLS = Split(ARRAYLINES(0), vbTab) 'to count the columns
msgbox UBound(ARRAYLINES) & UBound(ARRAYCELLS)
End If
'§ clear array
ReDim ARRAYLINES(0)
ReDim ARRAYCELLS(0)
End Sub
但我的問題是,我有兩種類型的文本陣列(文本結構矩陣)的。從msflixgrid到剪貼板的數組以及從excell到剪貼板的數組,我無法在它們之間做出區別。波紋管是從他們的屏幕截圖到MSWORD:
的箭頭n表示的畫面是製表符我沒有問題,在對其計數,其結果是相等的所有文本陣列。但段落標誌是棘手的,我知道在第二個數組中他們是「vbnewline」,但在第一個數組中,我的代碼找不到它們,並假設我只有一行。 你知道一個更好的方法來得到相同的結果來計算這些列和行嗎?
BTW:不要使用變量,如果你沒有......如果你需要一個字符串數組,你可以「模糊strLines()作爲字符串「 – Hrqls 2013-03-12 10:02:31