Назад к vb6 и msflexgrid, есть слабость при вставке текста в этот элемент управления. Если пользователь хотел, например, вставить массив 2 * 3 в msflexgrid, он должен выбрать 2 строки и 3 столбца для вставки данных, иначе только одна ячейка заполнит msflexgrid (insted из 6 ячеек). Я обнаружил, что если i 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 в буфер обмена, и я не могу сделать differencess между ними в этом sub. ниже приведен скриншот из них в MSWord:
Стрелка п, что картина являются символы табуляции я не имею никаких проблем при подсчете их и результаты одинаковы для всех текстовых массивов. но знаки абзаца сложны, и я знал, что во втором массиве они «vbnewline», но в первом массиве мой код не может их найти и предположим, что у меня есть только одна строка. Знаете ли вы, что лучший способ получить равный результат при подсчете этих столбцов и строк?
кстати: не использовать варианты, если вы не должны ... если вам нужен массив строк вы можете «тусклый strLines() в виде строки " – Hrqls