error '53' en tiempo de ejecucion

30/03/2006 - 22:35 por Jonathan Milla | Informe spam
Como puedo solucionar este error, tengo las variables declaradas,
le doy un msgbox y me lee el dato, tengo este codigo
'=Sub Expac()

Dim Contenido As String
Dim Columna As Long
Dim Fila As Long
Dim txt As String
Dim Anadir As String
Fila = 1
Columna = 1
For Fila = 2 To 42
For Columna = 1 To 2
With Worksheets("Exp").Cells(Fila, Columna)
If Columna = 2 Then
Contenido = Contenido & .Value & vbNewLine
Else
Contenido = Contenido & .Value & vbTab
End If
End With
Next Columna
Next Fila
'MsgBox Contenido 'muestra lo que se grabara
Dim Ruta As String
Sheets("Setup").Select
'Ruta = Worksheets("Setup").Range("B10").Value 'Este es el archivo
Ruta = Range("B10").Value 'Este es el archivo
Range("B10").Select
Anadir = Contenido
Open Ruta For Input As #1
txt = Input$(LOF(1), 1)
Close #1
Open Ruta For Output As #1
Print #1, Anadir
Print #1, txt
Close #1
End Sub

Gracias

Preguntas similare

Leer las respuestas

#6 Héctor Miguel
01/04/2006 - 04:58 | Informe spam
hola, Jonathan !

Al parecer no crea el archivo.txt en el cual quiero pegar los datos
como le puedo hacer, para que genere el archivo si no existe
y claro como aqui que si existe, pegue los datos al principio.



es posible que falte 'reservar' espacio en memoria para manejar archivos a nivel I/O [FreeFile] -?-
considerando que 'el archivo' SI existe... prueba a modificar de tu codigo la parte 'final'...
de Dim Ruta As String
Sheets("Setup").Select
Ruta = Range("B10").Value 'Este es el archivo
Range("B10").Select
Anadir = Contenido
Open Ruta For Input As #1
txt = Input$(LOF(1), 1)
Close #1
Open Ruta For Output As #1
Print #1, Anadir
Print #1, txt
Close #1
End Sub

a ==Dim Ruta As String, Anterior As Integer, Nuevo As Integer
Sheets("Setup").Select
Ruta = Range("B10").Value 'Este es el archivo
Range("B10").Select
Anadir = Contenido
Anterior = FreeFile
Open Ruta For Input As #Anterior
txt = Input$(LOF(1), 1)
Close #Anterior
Nuevo = FreeFile
Open Ruta For Output As #Nuevo
Print #Nuevo, Anadir
Print #Nuevo, txt
Close #Nuevo
End Sub

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#7 Jonathan Milla
02/04/2006 - 00:10 | Informe spam
No jala, no se podra mandar a un archivo de word
suponiendo que la informacion del archivo de excel
sea de A1 hacia A20 y pegar estos datos en un archivo,
el archivo se debe crear si no existe y si existe pegar esos
datos, con el nombre de la celda B1.

O crees que sea lo mismo??

Disculpa, pero la verdad es lo ultimo que me falta para
terminar mi proyecto.
Te lo voy agradecer o dime donde busco al respecto.

Gracias.

"Jonathan Milla" escribió en el mensaje
news:%
Como puedo solucionar este error, tengo las variables declaradas,
le doy un msgbox y me lee el dato, tengo este codigo
'=> Sub Expac()

Dim Contenido As String
Dim Columna As Long
Dim Fila As Long
Dim txt As String
Dim Anadir As String
Fila = 1
Columna = 1
For Fila = 2 To 42
For Columna = 1 To 2
With Worksheets("Exp").Cells(Fila, Columna)
If Columna = 2 Then
Contenido = Contenido & .Value & vbNewLine
Else
Contenido = Contenido & .Value & vbTab
End If
End With
Next Columna
Next Fila
'MsgBox Contenido 'muestra lo que se grabara
Dim Ruta As String
Sheets("Setup").Select
'Ruta = Worksheets("Setup").Range("B10").Value 'Este es el archivo
Ruta = Range("B10").Value 'Este es el archivo
Range("B10").Select
Anadir = Contenido
Open Ruta For Input As #1
txt = Input$(LOF(1), 1)
Close #1
Open Ruta For Output As #1
Print #1, Anadir
Print #1, txt
Close #1
End Sub

Gracias

Respuesta Responder a este mensaje
#8 Héctor Miguel
02/04/2006 - 06:34 | Informe spam
hola, Jonathan !

No jala, no se podra mandar a un archivo de word
suponiendo que la informacion del archivo de excel sea de A1 hacia A20
y pegar estos datos en un archivo,
el archivo se debe crear si no existe y si existe pegar esosdatos
con el nombre de la celda B1.
O crees que sea lo mismo?..



1) [hasta donde se]... para 'abrir' archivos a 'bajo nivel' del sistema [I/O <> Input/Output]...
NO se requiere que el archivo 'exista' [previamente], se crea automatico y se guarda con el 'Close'

2) existe la posibilidad de que el nombre de la variable con la que se abre el archivo [por un FreeFile de I/O]...
y que en el ejemplo lo estas usando como el numero 1 [UNO] segun las instrucciones que expones de...
Open Ruta For Input As #1
txt = Input$(LOF(1), 1)




pudieran estar [quizas] 'creando conflictos' segun y en versiones distintas de windows y/o actualizaciones -?-
sobre todo si como comentas: que la macro [suponto tal y como la expones] -> YA era 'funcional' -?-

3) haz una prueba con [ligeros] cambios +/- como el ejemplo al final del presente ;)

si cualquier duda [o la cosa sigue igual]... comentas ?
saludos,
hector.

Sub Expac()
Dim Archivo As String, EnProceso As Integer, Existe As Boolean, _
Anterior As Variant, Nuevo As String, Fila As Byte
With Worksheets("exp")
Archivo = Dir(.Range("b10"))
Existe = Dir(Archivo) <> ""
For Fila = 2 To 42
Nuevo = Nuevo & .Range("a" & Fila) & vbTab & .Range("b" & Fila) & vbNewLine
Next
End With
If Not Existe Then Goto Agregar
EnProceso = FreeFile
Open Archivo For Input As #EnProceso
Anterior = Input(LOF(EnProceso), #EnProceso)
Close #EnProceso
' Kill Archivo ' esta linea es OPCIONAL... y se utilizaria... 'solo por si las dudas...' :))
Agregar:
EnProceso = FreeFile
Open Archivo For Output As #EnProceso
Print #EnProceso, Nuevo
If Existe Then Print #EnProceso, Anterior
Close #EnProceso
End Sub
Respuesta Responder a este mensaje
#9 Jonathan Milla
02/04/2006 - 14:04 | Informe spam
Hijoles, ya probe este codigo hasta con una libro nuevo con el
nombre de la hoja y ahora me marca el siguiente error
Se ha producido el error '75' en tiempo de ejecución
Error de acceso a la ruta o el archivo.

le puse el nombre, formato de texto, aunque pusiste el
nombre del archivo en la misma hoja de "Exp", le hice
un link a B10 de la hoja "Setup" y ahi le cheque que fuera texto
y tampoco.
Gracias de nuevo, y una disculpa por tanta molestia, que
crees que este pasando?
Voy a instalar de nuevo el office y te comento igual...



"Héctor Miguel" escribió en el mensaje
news:
hola, Jonathan !

No jala, no se podra mandar a un archivo de word
suponiendo que la informacion del archivo de excel sea de A1 hacia A20
y pegar estos datos en un archivo,
el archivo se debe crear si no existe y si existe pegar esosdatos
con el nombre de la celda B1.
O crees que sea lo mismo?..



1) [hasta donde se]... para 'abrir' archivos a 'bajo nivel' del sistema
[I/O <> Input/Output]...
NO se requiere que el archivo 'exista' [previamente], se crea
automatico y se guarda con el 'Close'

2) existe la posibilidad de que el nombre de la variable con la que se
abre el archivo [por un FreeFile de I/O]...
y que en el ejemplo lo estas usando como el numero 1 [UNO] segun las
instrucciones que expones de...
Open Ruta For Input As #1
txt = Input$(LOF(1), 1)




pudieran estar [quizas] 'creando conflictos' segun y en versiones
distintas de windows y/o actualizaciones -?-
sobre todo si como comentas: que la macro [suponto tal y como la
expones] -> YA era 'funcional' -?-

3) haz una prueba con [ligeros] cambios +/- como el ejemplo al final del
presente ;)

si cualquier duda [o la cosa sigue igual]... comentas ?
saludos,
hector.

Sub Expac()
Dim Archivo As String, EnProceso As Integer, Existe As Boolean, _
Anterior As Variant, Nuevo As String, Fila As Byte
With Worksheets("exp")
Archivo = Dir(.Range("b10"))
Existe = Dir(Archivo) <> ""
For Fila = 2 To 42
Nuevo = Nuevo & .Range("a" & Fila) & vbTab & .Range("b" & Fila) &
vbNewLine
Next
End With
If Not Existe Then Goto Agregar
EnProceso = FreeFile
Open Archivo For Input As #EnProceso
Anterior = Input(LOF(EnProceso), #EnProceso)
Close #EnProceso
' Kill Archivo ' esta linea es OPCIONAL... y se utilizaria... 'solo por
si las dudas...' :))
Agregar:
EnProceso = FreeFile
Open Archivo For Output As #EnProceso
Print #EnProceso, Nuevo
If Existe Then Print #EnProceso, Anterior
Close #EnProceso
End Sub


Respuesta Responder a este mensaje
#10 Jonathan Milla
02/04/2006 - 14:34 | Informe spam
No, ya le instale el Office 2000 y lo mismo
lo hice con tu codigo y que tenia



"Héctor Miguel" escribió en el mensaje
news:
hola, Jonathan !

No jala, no se podra mandar a un archivo de word
suponiendo que la informacion del archivo de excel sea de A1 hacia A20
y pegar estos datos en un archivo,
el archivo se debe crear si no existe y si existe pegar esosdatos
con el nombre de la celda B1.
O crees que sea lo mismo?..



1) [hasta donde se]... para 'abrir' archivos a 'bajo nivel' del sistema
[I/O <> Input/Output]...
NO se requiere que el archivo 'exista' [previamente], se crea
automatico y se guarda con el 'Close'

2) existe la posibilidad de que el nombre de la variable con la que se
abre el archivo [por un FreeFile de I/O]...
y que en el ejemplo lo estas usando como el numero 1 [UNO] segun las
instrucciones que expones de...
Open Ruta For Input As #1
txt = Input$(LOF(1), 1)




pudieran estar [quizas] 'creando conflictos' segun y en versiones
distintas de windows y/o actualizaciones -?-
sobre todo si como comentas: que la macro [suponto tal y como la
expones] -> YA era 'funcional' -?-

3) haz una prueba con [ligeros] cambios +/- como el ejemplo al final del
presente ;)

si cualquier duda [o la cosa sigue igual]... comentas ?
saludos,
hector.

Sub Expac()
Dim Archivo As String, EnProceso As Integer, Existe As Boolean, _
Anterior As Variant, Nuevo As String, Fila As Byte
With Worksheets("exp")
Archivo = Dir(.Range("b10"))
Existe = Dir(Archivo) <> ""
For Fila = 2 To 42
Nuevo = Nuevo & .Range("a" & Fila) & vbTab & .Range("b" & Fila) &
vbNewLine
Next
End With
If Not Existe Then Goto Agregar
EnProceso = FreeFile
Open Archivo For Input As #EnProceso
Anterior = Input(LOF(EnProceso), #EnProceso)
Close #EnProceso
' Kill Archivo ' esta linea es OPCIONAL... y se utilizaria... 'solo por
si las dudas...' :))
Agregar:
EnProceso = FreeFile
Open Archivo For Output As #EnProceso
Print #EnProceso, Nuevo
If Existe Then Print #EnProceso, Anterior
Close #EnProceso
End Sub


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