TAB EM STRING

ANDYSARAGIOTTO 12/08/2015 21:28:55
#449888
boa noite amigos
eu uso muito a funcao tab() no metodo print
exemplo: Print #1, [Ô]COMEÇO[Ô] ; Tab(30); [Ô]FIM[Ô]
ate ai perfeito
mas...eu gostaria de saber como usar o tab() em uma sting...ja tentei mas deu erro
tipo:

dim str as string
str = [Ô]COMEÇO[Ô] ; Tab(30); [Ô]FIM[Ô]

daria para tabular de alguma outra forma?
JABA 12/08/2015 21:41:29
#449890
Tente assim:

str = [Ô]COMEÇO[Ô] + Chr(9) + [Ô]FIM[Ô]

ou

str = [Ô]COMEÇO[Ô] + vbTab + [Ô]FIM[Ô]
EPISCOPAL 13/08/2015 00:20:31
#449895
Resposta escolhida
Será que String$() não resolveria?

str = [Ô]COMEÇO[Ô] + String$(30, 9) + [Ô]FIM[Ô]

para o seu caso str = [Ô]COMEÇO[Ô] + String$(30, 32) + [Ô]FIM[Ô] [ô] 32 é espaço n codigo ascii
ANDYSARAGIOTTO 13/08/2015 13:12:27
#449918
infelizmente nenhuma das opcoes apresentadas deu certo
eu precisaria tabular tipo assim:

CODIGO DESCRIÇÃO QUANTIDADE
001 PRODUTO X 1,00
0237 PROD Y 2,00
034 PROD TESTE 3,00

precisaria que na string os campos saissem nas colunas certas...
JABA 13/08/2015 13:51:56
#449925
ANDY, esse código que lhe enviei funciona perfeitamente. O que acontece é que, a cada tab, ele preenche os espaços que faltam para completar o que não foi usado pelas palavras; por isso que algumas tabulações ficam pequenas, outras no tamanho correto. Isso acontece até se você dar [Ô]tabs[Ô] manualmente.

Para fazer um teste e comprovar isso por si só, execute esse código:

MsgBox [Ô]ID[Ô] + vbTab + [Ô]DESCRIÇÃO[Ô] + vbTab + [Ô]PRODUTO[Ô]
ANDYSARAGIOTTO 13/08/2015 14:59:02
#449934
Jaba
funcionou mesmo, so que tem produtos que a descricao é maior, e tem produtos que a descricao é menor, dai ele nao tabula certo....:(

por exemplo
tenta ai

Dim str As String
str = [Ô]ID[Ô] + vbTab + [Ô]PRODUTO[Ô] + vbTab + [Ô]VALOR[Ô] & vbNewLine
str = str & [Ô]001[Ô] + vbTab + [Ô]caneta esferografica[Ô] + vbTab + [Ô]1,00[Ô] & vbNewLine
str = str & [Ô]123456[Ô] + vbTab + [Ô]papel[Ô] + vbTab + [Ô]21,00[Ô] & vbNewLine
str = str & [Ô]22334344[Ô] + vbTab + [Ô]Caderno 200 folhas[Ô] + vbTab + [Ô]25,00[Ô] & vbNewLine
MsgBox str

veja na mensagem como nao tabula certo....
JABA 13/08/2015 18:21:42
#449948
Acho que se você quiser trabalhar com Tab, você vai ter que ter o tamanho dos campos fixos e preencher o que faltou com espaços em branco. Pra tu ter uma ideia, abra o notepad, digite umas 3 letras e pressione tab, você vai ver que o espaço percorrido será pequeno. Se, após isso, você pressionar tab novamente, ele dará um salto maior. Isso acontece porque por padrão o tamanho de um tab é 8 letras, e como foi digitado apenas 3 letras inicialmente, o tab preenche os 5 restantes. Sendo assim, o tamanho do seu campo terá que ser padronizado de acordo com esse tamanho. Por isso, padronize todos os seus campos para tamanhos que são divisíveis por 8.

Ex: Você poderia colocar o tamanho do seu campo descrição 64, pois 64 é divisível por 8 e preencher o que não foi utilizado com espaços em branco.
Tópico encerrado , respostas não são mais permitidas