Получить форматированный текст объекта диапазона / ячейки
Я пытаюсь объединить форматированное содержимое некоторых ячеек с формулой.
Поскольку я не могу найти способ решить это с помощью чистой формулы, я добавляю некоторый базовый код.
Но я не могу понять, как получить доступ к форматированному текстовому значению из отдельных ячеек.
Кажется, что oCell - это не объект ячейки, а только содержимое ячейки.
Как я могу изменить это, чтобы я мог использовать что-то вроде oCell.Text или oCell.String ...
Function StringSumme(oCellRange )
dim result as String
dim nRow as Integer
result = ""
For nRow = LBound( oCellRange, 1) To UBound( oCellRange, 1 )
For nCol = LBound( oCellRange, 2) To UBound( oCellRange, 2 )
oCell=oCellRange(nRow,1)
result = result + oCell
Next
Next
StringSumme = result
End Function
В Excel это работает
Function StringSumme(bezug As Range) As String
Dim txt As String
Dim ce As Range
txt = ""
For Each ce In bezug.Cells
txt = txt & ce.Text
Next
StringSumme = txt
End Function
1 ответ
Джеб
Я думаю, что понимаю ваш вопрос сейчас.
Когда вы печатаете это
Function StringSumme(oCellRange)
oCellRange не является диапазоном. Это массив, который передается. И, следовательно, oCell - не объект ячейки, а только содержимое ячейки, как вы уже догадались.
Вы можете изменить это на что-то вроде
oCell = Sheet.getCellByPosition(X, Y)
и затем используйте oCell.Value
Интересное чтение
http://wiki.services.openoffice.org/wiki/Documentation/BASIC_Guide/Cells_and_Ranges