Buscar informacion de archivo y traerla a un MsgBox

29/01/2004 - 22:56 por osalazarg | Informe spam
Hector no he podido

en parte si es un poco parecido lo que necesito , solo que lo que necesito
es que me traiga los importes que se encuentran escritos en los archivos,
pero estos archivos tienen diferentes layout cada uno diferente del otro.

ejemplo en el archivo
en la linea o espacio o fila hacia abajo 14, y en espacio linea o columna
175 tengo una informacion que necesito que me traiga con un msbox, te
pongo un pedazo del archivo

0000001438007163420030227

302001000001DLPROFUT2A 54
0007600000000000003600000000141099700000020030227000000000000

302002000001DLPROFUT2B 54
0007600000000000000100000000141099700000020030227000000000000

302501000001DLPROFUT2A 54
0007600000000000000100000000141099700000020030227000000000000

302502000001DLPROFUT2B 54
0007600000000000003600000000141099700000020030227000000000000
303000BONDE91030416 LP
00000000000000006500000000099896911000000006493299200000009995078900000000649680130000470000000000664589

3050000000863731145099772000000000314793500036400000000011713140001350000000865707766000006133112000000000037000001000000000037000001000006133112000000001411531000090115272000695



trate de modificar el archivo con esta opcion que me pusiste y no pude
hacer que funcionara, me podrias poner por favor como podria quedar.



2.- si quieres que el 'MsgBox' te muestre 'el contenido' [en lugar de la
'verificacion'] de 'esos' campos ...
sustituye la 'creacion' del mensaje ['entre' las lineas =>If L-N Linea
Then<= y => Verificado = True<=] por:
Mensaje = Mensaje & _
Mid(Temp, Sec1P1, Len(Secc1OK)) & String(2,
vbTab) &
_
Mid(Temp, Sec2P1, Len(Secc2OK)) & vbCr






Mensaje enviado desde http://grupos.buscadoc.org

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
30/01/2004 - 04:52 | Informe spam
hola, oscar !

... que me traiga los importes que se encuentran escritos en los archivos
... estos archivos tienen diferentes layout cada uno diferente del otro [...]
... en la linea o espacio o fila hacia abajo 14
... en espacio linea o columna 175 tengo una informacion que necesito que me traiga [...]
... trate de modificar el archivo ... opcion que me pusiste y no pude hacer que funcionara [...]



[considerando que el 'nombre' en los archivos es el mismo y solo difieren en la .EXTension]
'tuve que inventar' [mis propias 'situaciones'] asumiendo que las constantes eran 'aplicables' PARA TODOS :(

=> si como dices en este mensaje... < 1.- "que me traiga los importes..."
2.- "estos archivos tienen diferentes layout..."

1.- ¿quisieras algun 'formato numerico' para 'presentar' la informacion extraida en el MsgBox? =>p.e. moneda<2.- ¿podrias comentar para cuales EXTensiones de archivo NO son 'iguales' las siguientes constantes?...
- 'buscar' EN el directorio [indicado por la variable 'Public Const Directorio']
- 'buscar' EN la linea # 122 [indicado por la variable 'Public Const Linea']
- 'extraer' 7 posiciones [de la 154 a la 160] [posicion 'inicial' en la variable 'Public Const Sec1P1']
- 'extraer' 4 posiciones [de la 175 a la 178] [posicion 'inicial' en la variable 'Public Const Sec2P1']

¿comentas?
saludos,
hector.
Respuesta Responder a este mensaje
#2 osalazarg
30/01/2004 - 20:22 | Informe spam
No me llamo oscar, si no octavio salazar, ojala me puedas entender y me
puedas ayudar Héctor Miguel.
Muchas gracias.

1.- ¿quisieras algun 'formato numerico' para 'presentar' la informacion
extraida
en el MsgBox? =>p.e. moneda<Si necesito que sean numeros con decimales, en ocasiones son 4 decimales y
en otras 6

2.- ¿podrias comentar para cuales EXTensiones de archivo NO son 'iguales'
las
siguientes constantes?...

Los archivos cuyas extensiones 124 , 071 tienen el mismo layout entre si,
necesito que me muestre dos datos antes de que se envien estos archivos,
los cuales son:


Precio de accion 9 enteros y numero de decimales 6 espacios del 146 al
160, en la ultimo renglon (hacia abajo) del archivo, osea la renglon 77.

Var Cartera 2 enteros y numero de decimales 4 espacios del 173 al 178, en
la ultimo renglon (hacia abajo) del archivo, osea la renglon 77.

Los archivos cuyas extensiones 125 , 062 tienen el mismo layout entre si,
necesito que me muestre dos datos antes de que se envien estos archivos,
los cuales son:

Numero de registros 5 enteros y sin numero de decimales espacios del 4 al
8, en la primera linea del archivo.

Cuando me refiero al ultimo renglon del archivo, es el numero de filas
que tiene el archivo hacia abajo.










Mensaje enviado desde http://grupos.buscadoc.org

Respuesta Responder a este mensaje
#3 Héctor Miguel
31/01/2004 - 05:36 | Informe spam
hola, sago ! =>para no meterme en 'camisa de once varas'<= :))

No me llamo oscar, si no octavio salazar


==> disculpame ;o( ... NO lo vuelvo a hacer ;)
[creo recordar que...] alguna vez mencionaste tu nombre y...
yo lo 'relacione' con el nombre de mi hermano, que es oscar octavio :))
y gracias por corregirme [sobre todo... porque me gusta 'mirar a los ojos'... para saber con quien 'estoy hablando'] ;)

... archivos ... 124, 071 ... que me muestre dos datos
... Precio de accion 9 enteros y 6 decimales ... del 146 al 160 ... ultimo renglon ... osea ... 77.
... Var Cartera 2 enteros y 4 decimales ... del 173 al 178, ... ultimo renglon ... osea ... 77.
... archivos ... 125, 062 ... que me muestre
... Numero de registros 5 enteros y sin ... decimales ... del 4 al 8, en la primera linea del archivo [...]



[por lo que veo...] ya NO es ni la fila 122, ni la 14... sino la 77 [ultima] o la primera :\
con los datos que 'apuntas' en este mensaje...
[mejor] 'te pongo' variables para que tu las modifiques segun se vaya requiriendo :)
=>trate de darle una 'apriencia de reporte' al msgbox<segun la fuente y tamaño que tu sistema aplique a los mensajes...
[quizas] sera necesario 'encontrar' los 'strings' y 'vbtabs' del msgbox :(

si cualquier duda o 'cambio de señal'... ¿comentas?
saludos,
hector.
___ en un modulo de codigo 'normal' ___
Public Const Directorio As String = "C:\Mis documentos\"
Public Const Ultima As Integer = 7 '77
Public Const Campo1 As Integer = 14 '146
Public Const Largo1 As Integer = 15
Public Const Salida1 As String = "000000000.000000"
Public Const Campo2 As Integer = 31 '173
Public Const Largo2 As Integer = 6
Public Const Salida2 As String = "00.0000"
Public Const Campo3 As Integer = 4
Public Const Largo3 As Integer = 5
Public Const Salida3 As String = "00000"
Private Function BuscarSigDiaHabil(ByVal Fecha As Date) As String
Dim DiaDeHoy As String
DiaDeHoy = StrConv(Format(Fecha, "ddd"), vbLowerCase)
Select Case DiaDeHoy
Case "vie", "fri": BuscarSigDiaHabil = Format(Fecha + 3, "yyyymmdd")
Case "sáb", "sab", "sat": BuscarSigDiaHabil = Format(Fecha + 2, "yyyymmdd")
Case Else: BuscarSigDiaHabil = Format(Fecha + 1, "yyyymmdd")
End Select
End Function
Sub Verificando_Informacion()
Dim SigDiaHabil As String, Doble As Variant, Sencillo As Variant, Sig As Integer, _
Archivo As Integer, L_n As Integer, Verificado As Boolean, _
Temp As String, Mensaje As String
SigDiaHabil = BuscarSigDiaHabil(Date)
Doble = Array(".071", ".124"): Sencillo = Array(".062", ".125")
Mensaje = "Archivo" & vbTab & "Precio acción" & String(2, vbTab) & "Var cartera" & _
vbCr & String(62, "-") & vbCr
For Sig = 0 To UBound(Doble)
Archivo = FreeFile: Verificado = False
Mensaje = Mensaje & Doble(Sig) & vbTab: L_n = 1
Open Directorio & SigDiaHabil & Doble(Sig) For Input As #Archivo
Do While Not EOF(Archivo)
Line Input #Archivo, Temp
If L_n = Ultima Then
Mensaje = Mensaje & _
Format(Mid(Temp, Campo1, Largo1) / 1000000, Salida1) & String(2, vbTab) & _
Format(Mid(Temp, Campo2, Largo2) / 10000, Salida2) & vbCr
Verificado = True: Exit Do
End If: L_n = L_n + 1
Loop
If Not Verificado Then Mensaje = Mensaje & "NO llega a la línea " & Ultima & vbCr
Close Archivo
Next
Mensaje = Mensaje & vbCr & vbTab & "N° registros" & vbCr & String(27, "-") & vbCr
For Sig = 0 To UBound(Sencillo)
Archivo = FreeFile: Mensaje = Mensaje & Sencillo(Sig) & vbTab
Open Directorio & SigDiaHabil & Sencillo(Sig) For Input As #Archivo
Line Input #Archivo, Temp
Mensaje = Mensaje & Format(Mid(Temp, Campo3, Largo3), Salida3) & vbCr
Close Archivo
Next
MsgBox Mensaje & vbCr & "¡ Proceso finalizado !!!", vbInformation, _
"Revisión de archivos del " & SigDiaHabil
End Sub
Respuesta Responder a este mensaje
#4 Héctor Miguel
31/01/2004 - 05:44 | Informe spam
hola, octavio ;)

perdon... 'recorte' mi busqueda [en las pruebas] y no modifique las variables segun tu mensaje :((
corrige las siguientes constantes [plis] :))

Public Const Ultima As Integer = 77
Public Const Campo1 As Integer = 146
Public Const Campo2 As Integer = 173

saludos,
hector.
Respuesta Responder a este mensaje
#5 osalazarg
02/02/2004 - 19:02 | Informe spam
Es por eso que me llamabas oscar, tambien te apellidas salazar.
Me envia este error en esta linea, me podrias ayudar otra vez por favor
hector.

Se ha producido el error '13' en tiempo de ejecución:
No coinciden tipos

Mensaje = Mensaje & Format(Mid(Temp, Campo1, Largo1) / 1000000, Salida1) &
String(2, vbTab) & _
Format(Mid(Temp, Campo2, Largo2) / 10000, Salida2) & vbCr

No se que pasa.

saludos y Muchas gracias por responderme.
Octavio Salazar







Mensaje enviado desde http://grupos.buscadoc.org

Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida