- 06 Mai 2019 às 11:30
#43700
Bom, é o seguinte, tenho um textbox com multiline, preciso que nessa caixa de texto a pessoa possa escrever o arquivo normal, mais que ao executar o botão ele tem que fazer uma leitura na caixa de texto, se a primeira linha tiver mais que 72 carácter ele divide essa linha em 2 linhas e coloca cada linha em um label ou numa caixa de texto o restante da frase, caso tiver no textbox 2 linha que ele consiga fazer essa separação da mesma forma cada linha. Estou usando o seguinte comando para verificação de tamanho de carácter, mais não consigo fazer o que preciso, irei deixa um exemplo para facilitar o entendimento.
"Por vezes existe a necessidade de personalizar o comportamente e/ou funcionalidade de determinados controlos por as mais diversas razões.
Estas alterações estão muitas vezes já contempladas nas propriedades do próprio objecto e o utilizador apenas necessita de a alterar."
No texto acima, tem 2 linhas, as duas tem acima de 72 carácter, preciso fazer um comando para dividir a primeira linha que caiba 72 carácter, e colocar ele em um label ou no textbox cada linha dividida, o mesmo acontecerá com a segunda linha, assim por diante. pois o sistema que estou fazendo essa exportação tem uma limitação de caráter de 72, e preciso dividir essa linha em varias linha.
'Verificar o tamanho de carácter do textbox.
Private totalLines As Long
Private Sub Command_Click()
ValidaLinhasCaracteres
End Sub
Private Function ValidaLinhasCaracteres() As Integer
Const QtdeMaxCarac = 10 ' Quantidade máxima de caracteres por linha.
Dim totalLines() As String ' Cria um array de tipo string
Dim i As Long ' Para controle do loop.
' Coloca no array criado a lista de linhas existentes na TextBox
totalLines = Split(txtTeste.Text, vbCrLf)
' Valida quantidade Caracteres por linha.
For i = LBound(totalLines) To UBound(totalLines)
If Len(totalLines(i)) >= QtdeMaxCarac Then
MsgBox "Número de caracteres na linha " & CStr(i + 1) & " superior a " & CStr(QtdeMaxCarac)
End If
Next i
' Retorna o número de linhas.
ValidaLinhasCaracteres = UBound(totalLines)
End Function
Se alguém tiver uma luz. fico muito grato. é obrigado a todos.
"Por vezes existe a necessidade de personalizar o comportamente e/ou funcionalidade de determinados controlos por as mais diversas razões.
Estas alterações estão muitas vezes já contempladas nas propriedades do próprio objecto e o utilizador apenas necessita de a alterar."
No texto acima, tem 2 linhas, as duas tem acima de 72 carácter, preciso fazer um comando para dividir a primeira linha que caiba 72 carácter, e colocar ele em um label ou no textbox cada linha dividida, o mesmo acontecerá com a segunda linha, assim por diante. pois o sistema que estou fazendo essa exportação tem uma limitação de caráter de 72, e preciso dividir essa linha em varias linha.
'Verificar o tamanho de carácter do textbox.
Private totalLines As Long
Private Sub Command_Click()
ValidaLinhasCaracteres
End Sub
Private Function ValidaLinhasCaracteres() As Integer
Const QtdeMaxCarac = 10 ' Quantidade máxima de caracteres por linha.
Dim totalLines() As String ' Cria um array de tipo string
Dim i As Long ' Para controle do loop.
' Coloca no array criado a lista de linhas existentes na TextBox
totalLines = Split(txtTeste.Text, vbCrLf)
' Valida quantidade Caracteres por linha.
For i = LBound(totalLines) To UBound(totalLines)
If Len(totalLines(i)) >= QtdeMaxCarac Then
MsgBox "Número de caracteres na linha " & CStr(i + 1) & " superior a " & CStr(QtdeMaxCarac)
End If
Next i
' Retorna o número de linhas.
ValidaLinhasCaracteres = UBound(totalLines)
End Function
Se alguém tiver uma luz. fico muito grato. é obrigado a todos.