La Web del Programador: Comunidad de Programadores
https://www.lawebdelprogramador.com/foros/Visual-Basic-para-Aplicaciones/1153358-abrir-archivo-Ruta-en-celda-excel.html

abrir archivo (Ruta en celda excel)

abrir archivo (Ruta en celda excel)

Publicado por Alvaro (4 intervenciones) el 27/10/2009 09:50:51
Buenas, tengo varias dudas, quisiera utilizar al funcion open

Open c:\a.txt For Output As #1

pero en vez de poner la ruta poner una variable que tenga la ruta que cada uno desee.
seria algo asi como

Dim nombre As String
nombre = Hoja1.Cells(17, 4)
Open nombreFor Output As #1

Pero no me funciona, ni poniendo la variable entre comillas no me lo crea.
Otra duda es como ejecutar el archivo creado, he probado tambien con esta funcion:
Call Shell("ruta del programa nombredel archivo", vbMaximizedFocus)

De esta forma fuciona, pero tmabien me gustari aponer en esa funcion una variable que haga referencia a una celda donde ponga la ruta del programa y del archivo.Tambien si es posible ejecutar el archivo creado directamente. Muchas gracias
Imágen de perfil de JuanC

RE:abrir archivo (Ruta en celda excel)

Publicado por JuanC (565 intervenciones) el 27/10/2009 11:11:56
quizá no te funcione porque pusiste nombreFor, todo junto, y va separado...
también asegurate que en la celda 17,4 hay una ruta válida (c:\path\file.ext)
Sub test()
Dim nombre As String
nombre = Hoja1.Cells(17, 4)
Open nombre For Output As #1
Close #1
End Sub

Saludos, desde Baires, JuanC

RE:abrir archivo (Ruta en celda excel)

Publicado por Alvaro (4 intervenciones) el 27/10/2009 11:26:08
No fue eso, lo habia escrito mal en el foro. Al depurar me tira error.GRacias por responder
Imágen de perfil de JuanC

RE:abrir archivo (Ruta en celda excel)

Publicado por JuanC (565 intervenciones) el 27/10/2009 13:59:40
pero pudiste solucionarlo??
sino publica el código y el error...

Saludos, desde Baires, JuanC

RE:abrir archivo (Ruta en celda excel)

Publicado por Alvaro (4 intervenciones) el 27/10/2009 17:08:25
No, no pude solucionarlo porque me da error.

CODIGO
Private Sub CommandButton1_Click()
Dim nombre As String
nombre = Hoja1.Cells(17, 4)
Open nombre For Output As #1
Print #1, "<?xml version=""1.0"" encoding=""UTF-8""?>"
Print #1, "<kml xmlns=""http://www.opengis.net/kml/2.2"">"
Print #1, "<Placemark>"
Print #1, "<name>"; Range("C8"); "</name>"
Print #1, "<description>"; Range("C9"); "</description>"
Print #1, "<Point>"
Print #1, "<coordinates>"; Hoja4.Cells(41, 14); "."; Hoja4.Cells(41, 12); ","; Hoja4.Cells(42, 14); "."; Hoja4.Cells(42, 12); ",0</coordinates>"
Print #1, "</Point>"
Print #1, "</Placemark>"
Print #1, "</kml>"
Close #1

Call Shell("C:\Archivos de programa\Google\Google Earth\client\googleearth.exe c:\a.kml", vbMaximizedFocus)

End Sub

El error me lo da en la función Open, y escribiéndolo entre comillas también me pasa lo mismo.Al igual que si quiero poner variables en la función de Call Shell también da error.Espero que haya alguna solución.Gracias
Imágen de perfil de JuanC

RE:abrir archivo (Ruta en celda excel)

Publicado por JuanC (565 intervenciones) el 27/10/2009 18:12:49
cuando depurás el código, qué valor tiene la variable nombre ??

Saludos, desde Baires, JuanC

RE:abrir archivo (Ruta en celda excel)

Publicado por Alvaro (4 intervenciones) el 28/10/2009 10:41:27
Si, se llama nombre
Imágen de perfil de JuanC

RE:abrir archivo (Ruta en celda excel)

Publicado por JuanC (565 intervenciones) el 28/10/2009 11:43:21
no entendiste la pregunta, ya variable se llama nombre, pero cuál es su contenido
cuando estás depurando paso a paso?? (o sea el valor que asume la variable cuando corre el programa)

Saludos, desde Baires, JuanC