Foros del Web » Soporte técnico » Ofimática »

Variable excel para ruta de archivo

Estas en el tema de Variable excel para ruta de archivo en el foro de Ofimática en Foros del Web. Variable excel para ruta de archivo Me gustaría encontrar la manera de acceder a un archivo word desde excel de la forma Y:\documento\%variable%\prueba.doc , donde ...
  #1 (permalink)  
Antiguo 30/08/2009, 14:10
Avatar de Pasote  
Fecha de Ingreso: mayo-2006
Ubicación: España - Islas Canarias
Mensajes: 389
Antigüedad: 17 años, 11 meses
Puntos: 3
Variable excel para ruta de archivo

Variable excel para ruta de archivo

Me gustaría encontrar la manera de acceder a un archivo word desde excel de la forma

Y:\documento\%variable%\prueba.doc ,

donde %variable% puede tomar varios valores.

El valor que tome me gustaría proponerlo en una celda excel, y que quedara a la vista el valor actual de esa variable.



En una de las celdas se podría editar para modificar la variable , y desde otra lanzar el documento.

De todas formas cualquier opción similar también me valdría.

Gracias
  #2 (permalink)  
Antiguo 31/08/2009, 03:30
 
Fecha de Ingreso: julio-2006
Ubicación: Madrid
Mensajes: 943
Antigüedad: 17 años, 8 meses
Puntos: 56
Respuesta: Variable excel para ruta de archivo

Hola,

Creo que te podría servir así:

Código:
=HIPERVINCULO("C:\Archivos de programa\"&A1)
Esta fórmula supone que en A1 está lo que tu llamas variable

Saludos
  #3 (permalink)  
Antiguo 31/08/2009, 03:41
Avatar de Pasote  
Fecha de Ingreso: mayo-2006
Ubicación: España - Islas Canarias
Mensajes: 389
Antigüedad: 17 años, 11 meses
Puntos: 3
Respuesta: Variable excel para ruta de archivo

Gracias lo probaré.

De qué manera, adicionalmente, podría almacenar esta variable para que desde fuera de excel pudiera ser usada por cualquier otra aplicación bajo windows xp pro ?

Creo que como variable de entorno del sistema precisa reinicio. No lo se seguro.

Gracias
  #4 (permalink)  
Antiguo 06/09/2009, 12:01
Avatar de mrocf  
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 17 años
Puntos: 88
De acuerdo Respuesta: Variable excel para ruta de archivo

Hola! Pasote. Puedo sugerirte lo siguiente:

a) En un archivo de texto como: Y:\MiCarpeta.txt
podrías tener un solo dato: el nombre de la carpeta donde quieres ir a buscar a tus archivos de nombre prueba.doc.

b) Por otro lado debes tener un archivo excel con una fórmula como la que te indica jchuk, es decir:
=HIPERVINCULO("Y:\documento\" & A1 & "\prueba.doc")

c) Haz clic en el nombre de la hoja donde quieres el efecto (abajo a la izquieda) y selecciona: Ver código.

d) En la ventana que te aparecerá, copia y pega lo siguiente:
Código:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$A$1" Then Exit Sub

Open "Y:\MiCarpeta.txt" For Output As #1
  Print #1, [A1]
Close #1
End Sub
(Nota que dos veces se hace alusión a la celda $A$1 como contenedora del dato variable)

e) Vuelve al Excel y presiona simultáneamente las dos teclas: <Alt> <F8>
En nombre de la macro escribe: Auto_Open y selecciona: Crear.

f) Te aparecerá una ventana con:
Código:
Sub Auto_Open()

End Sub
que reemplazarás totalmente por
Código:
Sub Auto_Open()
Open "Y:\MiCarpeta.txt" For Input As #1
  Input #1, Linea
Close #1
[a1] = Linea
End Sub
g) Cierra todas las ventanas del ambiente Visual Basic for Application en el que te encuentras y retorna al Excel.

A partir de entonces, cada vez que cambies el valor de la celda A1 se modificarán tanto el hipervínculo que tienes a través de la fórmula, como el contenido del archivo Y:\MiCarpeta.txt.

De mismo modo, cada vez que modifiques (manualmente) el contenido del archivo Y:\MiCarpeta.txt, verás que al abrir (o sea que estará cerrado) tu archivo Excel, verás que se ha modificado el contenido de la celda A1.

Comenta como te ha ido con lo expresado, por favor.

Saludos, Cacho.
  #5 (permalink)  
Antiguo 06/09/2009, 12:11
 
Fecha de Ingreso: julio-2006
Ubicación: Madrid
Mensajes: 943
Antigüedad: 17 años, 8 meses
Puntos: 56
Respuesta: Variable excel para ruta de archivo

Me descubro ante tu sabiduría amigo mrocf

Grande, muy grande.

Un saludo.
  #6 (permalink)  
Antiguo 06/09/2009, 13:10
Avatar de mrocf  
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 17 años
Puntos: 88
Respuesta: Variable excel para ruta de archivo

Ja ja ja !!!
Gracias y saludos.
  #7 (permalink)  
Antiguo 06/09/2009, 14:07
Avatar de Pasote  
Fecha de Ingreso: mayo-2006
Ubicación: España - Islas Canarias
Mensajes: 389
Antigüedad: 17 años, 11 meses
Puntos: 3
Respuesta: Variable excel para ruta de archivo

Déjame pensar.......


Tiene el aspecto de la sencillez.
Además es viable.
Por si fuera poco funcionaría en todos los entornos.
Tiene el visto bueno de jchuk (gracias jchuk)
por qué no probarlo ?
Encima me piden que comente por favor (esto es mucho)
Saben qué ?
que anoto el temita para no olvidarme de dar una respuesta, pero que tengo que la impresión de que funcionará sin problemas.
Había oido hablar también del uso de un ini, pero el txt viene a ser lo mismo.
Por otro lado se garantiza la preservación de la variable incluso en el caso de un reinicio . Creo que con variables de usuario duran lo que dura la sesión, y si se aplican variables de entorno creo que precisan reinicio......
Colocándola en el txt todo esto se solventa, además de quedar disponible para usarla desde otras aplicaciones por procedimientos similares. En mi caso creo que podría ser posible usarla desde Goldmine.
Estoy estudiando un poco de C++ a ver si me entero del API de este programita y lo aprovecho. Bueno o de Visual Basic o de Delphi, porque utiliza los tres entornos. Yo lo que preciso es poner en marcha las rutinas que ya vienen en el manual y listo.
Sabiendo que mrocf está por aquí quizá consiga realizarlo sin tener que aprender programación que al fin y al cabo no me dedico a ello y mis necesidades son puntuales.

Lo dicho. Tengo que hacerme una ficha resumen de todo esto con el título entrar en word por una parte del mismo (marcador, tabla,......) y uso de variables para el caso de que el archivo varíe.

Aunque creo que volveré en cualquier caso, volveré segurísimo si algo fallara que no lo creo.

Muchas gracias a los dos.

  #8 (permalink)  
Antiguo 14/09/2009, 16:54
Avatar de Pasote  
Fecha de Ingreso: mayo-2006
Ubicación: España - Islas Canarias
Mensajes: 389
Antigüedad: 17 años, 11 meses
Puntos: 3
Respuesta: Variable excel para ruta de archivo

Pongo un repaso de lo que he hecho y las modificaciones sobre lo inicial......


la celda que escogí para introducir la variable fue : E33
En G33 propuse la ruta con expresión de la variable y funciona sin problema alguno.
Cada vez que modifico el valor en E33, automáticamente se afecta el valor en la ruta recogida en la celda G33.

El archivo de texto lo he ubicado en :
Y:\GABINETE\PROYECTOS\MODELOS\CONTROL\MiControl.tx t

Con el contenido 125.09

En la pestaña de la hoja donde he colocado la variable he introducido el código :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$E$33" Then Exit Sub

Open "Y:\GABINETE\PROYECTOS\MODELOS\CONTROL\MiControl.t xt" For Output As #1
Print #1, [e33]
Close #1
End Sub


Y en el editor de visual basic he creado la macro Auto_Open ()

Con este contenido :

Sub Auto_Open()
Open "Y:\GABINETE\PROYECTOS\MODELOS\CONTROL\MiControl.t xt" For Input As #1
Input #1, Linea
Close #1
[e33] = Linea
End Sub

Luego, sin cerrar la hoja me he puesto a modificar la variable 125.09

He puesto 126.09 y he observado que así queda reflejado en el archivo de texto, con la única peculiaridad carente de importancia de proponer un espacio al principio del archivo de texto y continuar con la variable.

Luego he procedido a cerrar la hoja.
A modificar el archivo de texto con 130.09
y volver a abrirla para observar el valor de la variable y de la ruta dentro de excel.

El resultado ha sido.....

130.09 € !!!!!!! . Jope.
Corrigo el formato de la celda y lo pongo en general y hago pruebas adicionales.
También el número 130.09 lo coloco rente (pegado al margen del archivo de texto, no dejo el espacio que constaté antes.....)

Sigo.

Hay un fallito que no se a que se debe.

Si pongo "130.09" luego aparece en el archivo de texto " 130,09"
y en la celda excel 130.09€

El punto del teclado numérico lo tengo como punto, no como coma....

El formato de celda donde introduzco la cadena 129.09 como general......

En otra de las ocasiones conteniendo el archivo de texto : " 131,09"
me aparece en la celda "131". No se. Debe ser un lío de puntos y comas....

Pruebo a poner en la celda E33 formato personalizado del tipo 000.00

Me sigue convirtiendo en una coma el punto que pongo en la celda excel. El punto de la celda excel se convierte en una coma en la variable almacenada en el archivo de texto....

Observo que el cambio se realiza incluso con el archivo de texto abierto. Y una observación más. Con el archivo abierto aparece 131.09 (con el punto) . En cambio si cierro el archivo y lo vuelvo a abrir, o simplemente no estaba previamente abierto , me aparece 131,09 (con la coma).
  #9 (permalink)  
Antiguo 14/09/2009, 19:09
Avatar de mrocf  
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 17 años
Puntos: 88
Variable excel para ruta de archivo

Tu descripción sugiere dos adecuaciones muy sencillas:

a) La celda [E33] debe tener un formato "Texto", o sea:

Formato ---> Celdas ---> Número ---> Texto

Dicho de otro modo: se ve lo que se escribe.


b) Reemplaza
Código PHP:
Sub Auto_Open()
Open "Y:\GABINETE\PROYECTOS\MODELOS\CONTROL\MiControl.t xt" For Input As #1
Input #1, Linea 
por
Código PHP:
Sub Auto_Open()
Open "Y:\GABINETE\PROYECTOS\MODELOS\CONTROL\MiControl.t xt" For Input As #1
Line Input #1, Linea 
Creo que esos detalles "ajustan" tu descripción.
Saludos, Cacho.
  #10 (permalink)  
Antiguo 18/09/2009, 05:20
Avatar de Pasote  
Fecha de Ingreso: mayo-2006
Ubicación: España - Islas Canarias
Mensajes: 389
Antigüedad: 17 años, 11 meses
Puntos: 3
Respuesta: Variable excel para ruta de archivo

Oye, que no me llegó el aviso de tu respuesta, pero estoy al loro porque lo tengo apuntado. Este fin de semana lo reintento y comentaré seguro.
Un abrazo
pepe
  #11 (permalink)  
Antiguo 20/09/2009, 17:47
Avatar de Pasote  
Fecha de Ingreso: mayo-2006
Ubicación: España - Islas Canarias
Mensajes: 389
Antigüedad: 17 años, 11 meses
Puntos: 3
Respuesta: Variable excel para ruta de archivo

La cosa va mejor :

el archivo de texto queda bien. Y ha desaparecido el espacio que cité más arriba.

Pero la celda me da un aviso que no se cómo quitar.



Lo que me dice es que la variable que he pasado a texto me da error porque es realmente un número (125.09)




En Paralelo estoy intentado lo siguiente :

Que me aparezca en una celda excel el valor que tengo almacenado en la variable de entorno. Estoy intentando utilizar la función environ, pero no se usarla propiamente.


Intento poner en la celda lo siguiente =environ("varexpediente"), pero sin resultado.


Intento proponer en el editor de visual Basic este código, pero sin resultado y con error :

Public Function Environ("varexpediente")
Environ = VBA.Environ(Expression)
End Function

En fin que no manejo. Me gustaría disponer del código para ver en una celda el valor aportado por la variable de entorno



Me da buen resultado desde inicio - ejecutar :
reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v varexpediente /t REG_EXPAND_SZ /d 125.09

(a través del registro crear la variable de entorno)

Si pongo el código anterior en un bat pues seguro que podría afectar las variables.
Y con reg delete borrarla.
o hacerme un archivo de extensión reg.
  #12 (permalink)  
Antiguo 22/09/2009, 16:12
Avatar de Pasote  
Fecha de Ingreso: mayo-2006
Ubicación: España - Islas Canarias
Mensajes: 389
Antigüedad: 17 años, 11 meses
Puntos: 3
Respuesta: Variable excel para ruta de archivo

Cita:
La cosa va mejor :

el archivo de texto queda bien. Y ha desaparecido el espacio que cité más arriba.

Pero la celda me da un aviso que no se cómo quitar.



Lo que me dice es que la variable que he pasado a texto me da error porque es realmente un número (125.09)
Solucionado con herramientas - opciones - comprobación de errores - desmarcar número almacenado como texto .




Cita:
En Paralelo estoy intentado lo siguiente :

Que me aparezca en una celda excel el valor que tengo almacenado en la variable de entorno. Estoy intentando utilizar la función environ, pero no se usarla propiamente.


Intento poner en la celda lo siguiente =environ("varexpediente"), pero sin resultado.


Intento proponer en el editor de visual Basic este código, pero sin resultado y con error :

Public Function Environ("varexpediente")
Environ = VBA.Environ(Expression)
End Function

En fin que no manejo. Me gustaría disponer del código para ver en una celda el valor aportado por la variable de entorno



Me da buen resultado desde inicio - ejecutar :
reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v varexpediente /t REG_EXPAND_SZ /d 125.09

(a través del registro crear la variable de entorno)

Si pongo el código anterior en un bat pues seguro que podría afectar las variables.
Y con reg delete borrarla.
o hacerme un archivo de extensión reg.
Solucionado.

Para verla en la celda excel :

En una celda escribo =Variable("varexpediente")
y en otra varexpediente para invocarla en la primera.

O bien : =Variable(E17)
donde E17 es varexpediente.....
  #13 (permalink)  
Antiguo 22/09/2009, 16:16
Avatar de Pasote  
Fecha de Ingreso: mayo-2006
Ubicación: España - Islas Canarias
Mensajes: 389
Antigüedad: 17 años, 11 meses
Puntos: 3
Respuesta: Variable excel para ruta de archivo

Todavía no he logrado el proceso de leer correctamente la primera línea del archivo de texto micontrol.txt para lograrlo había pensado en algo así :

Displaying the first line

This example prints one.

@echo off & setlocal ENABLEEXTENSIONS
set "first="
for /f "delims=" %%a in ('more ^< numbers.txt') do (
if not defined first set first=%%a
)
echo/%first%

Voy encaminado ?

Gracias
  #14 (permalink)  
Antiguo 22/09/2009, 16:18
Avatar de Pasote  
Fecha de Ingreso: mayo-2006
Ubicación: España - Islas Canarias
Mensajes: 389
Antigüedad: 17 años, 11 meses
Puntos: 3
Respuesta: Variable excel para ruta de archivo

Necesitaría ahora recuperar la variable de el archivo micontrol.txt para utilizarla dentro de un archivo bat o de un vbs.

Cómo se hace ?

Gracias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:33.