Postada em 13/06/2013 13:33 hs
Camarada, faz assim...
1) Edite o arquivo TXT no bloco de notas e mande substitui as aspas duplas por nada. 2) Em um módulo cole a seguinte função
'-------------------------------------------------------------------------------------------------------------------------------------------------------- 'Buscar conteúdo de determinado piece ! '-------------------------------------------------------------------------------------------------------------------------------------------------------- Public Function Piece(ByVal Conteudo As String, _ ByVal Separador As String, _ ByVal PosicaoPiece As Integer) _ As String
Dim ExtraPiece As String Dim Cont1Piece As Integer Dim Cont2Piece As Integer Dim bkpPosicaoPiece As Integer Dim SepPieces As String bkpPosicaoPiece = PosicaoPiece - 1 SepPieces = Separador ExtraPiece = "" Cont2Piece = 0 For Cont1Piece = 1 To Len(Conteudo) If Mid(Conteudo, Cont1Piece, 1) = SepPieces Then Cont2Piece = Cont2Piece + 1 If Cont2Piece = bkpPosicaoPiece Then Exit For Next Cont1Piece If Cont2Piece < bkpPosicaoPiece Then Piece = ExtraPiece Exit Function End If ExtraPiece = Mid(Conteudo, Cont1Piece) If Left(ExtraPiece, 1) = SepPieces Then ExtraPiece = Mid(ExtraPiece, 2) Cont2Piece = InStr(1, ExtraPiece, SepPieces) If Cont2Piece > 0 Then ExtraPiece = Mid(ExtraPiece, 1, Cont2Piece - 1) Piece = ExtraPiece
End Function
PARA USAR A FUNÇÃO FAÇA ASSIM:
dim ConteudoQueQuero as string dim ConteudoComPieces as string
ConteudoComPieces = "A,B,C"
ConteudoQueQuero = Piece(ConteudoComPieces, "," , 2)
A variável ConteudoQueQuero ficará com o B dentro dela, porque se está pedindo para buscar o segundo piece sendo o separador dos pieces a vírgula.
Se a variável ConteudoComPieces tivesse o conteúdo 2,01012100,,0,34.09,32.69 e você fizesse assm:
ConteudoQueQuero = Piece(ConteudoComPieces, "," , 5)
Então a variável ConteudoQueQuero teria o conteúdo 34.09, porque é o 5 piece da string, em que cada piece é separado do outro por uma vírgula. O separador pode ser qualquer caracter. Eu geralmente uso o ^, porque dentro da string de conteúdo de pieces poderia ter 34,09 (e não 34.09) então a vírgula seria considerada como separação de 34 e de 09, mas no arquivo do IBPT não tem vírgula separando os campos, tem ponto decimal então poderá usar a vírgula como separador de pieces sem problemas. Eu prefiro além de trocar as aspas por nada, trocar as vírgulas por ^, para evitar qualquer surpresa, mas... poderá usar qualquer caracter que desejar para separar os pieces.
Tudo de bom.
|