[RESUELTO] Cargar Valor de Variable desde otro archivo.
-
Chelo2
- Mensajes: 103
- Registrado: Mié Ago 14, 2013 4:25 am
- Ubicación: Lomas de Zamora, Buenos Aires, Argentina
[RESUELTO] Cargar Valor de Variable desde otro archivo.
Hola amigos...
Desde un libro de Calc y a través de un diálogo, cargo datos de ese diálogo a diferentes campos de un archivo de Writer. Hasta allí me funcionar perfecto.
Dado que una vez que abrió el archivo Writer, sigo trabajando con macros que se encuentran en ese archivo, quisiera usar para las mismas un valor de una variable que usaba en el primero de los archivos (el Calc.).
Para explicarlo mejor, en el primer libro de Calc tengo cargado en una variable el usuario que entró y se validó, y me gustaría que cuando paso al 2do archivo (al de Writer) poder seguir usando esa variable cargada con el nombre del usuario.
Deduzco que así como puedo cargar los campos de la nota Writer, debería poder también cargar una variable declarada en ese archivo Writer con el valor de la variable que tenía en el archivo Calc que guardaba el dato del usuario. Y aquí viene el problema y es que no se me ocurre como realizarlo. Cómo, una vez que abrí el archivo, decirle que "Usuario2" (el de Writer) = a Usuario1 (el de Calc).
Un último recurso que me quedaría, sería cargar el valor de la variable a un campo oculto de la nota y luego desde allí cargar la variable de de ese archivo, pero me parece algo rudimentaria la solución. Calculo que debe poderse hacer de otra manera.
Si alguien puede darme alguna pista se lo agradeceré muchísimo.
Un saludo desde Buenos Aires, Argentina.
Chelo2
Desde un libro de Calc y a través de un diálogo, cargo datos de ese diálogo a diferentes campos de un archivo de Writer. Hasta allí me funcionar perfecto.
Dado que una vez que abrió el archivo Writer, sigo trabajando con macros que se encuentran en ese archivo, quisiera usar para las mismas un valor de una variable que usaba en el primero de los archivos (el Calc.).
Para explicarlo mejor, en el primer libro de Calc tengo cargado en una variable el usuario que entró y se validó, y me gustaría que cuando paso al 2do archivo (al de Writer) poder seguir usando esa variable cargada con el nombre del usuario.
Deduzco que así como puedo cargar los campos de la nota Writer, debería poder también cargar una variable declarada en ese archivo Writer con el valor de la variable que tenía en el archivo Calc que guardaba el dato del usuario. Y aquí viene el problema y es que no se me ocurre como realizarlo. Cómo, una vez que abrí el archivo, decirle que "Usuario2" (el de Writer) = a Usuario1 (el de Calc).
Un último recurso que me quedaría, sería cargar el valor de la variable a un campo oculto de la nota y luego desde allí cargar la variable de de ese archivo, pero me parece algo rudimentaria la solución. Calculo que debe poderse hacer de otra manera.
Si alguien puede darme alguna pista se lo agradeceré muchísimo.
Un saludo desde Buenos Aires, Argentina.
Chelo2
Última edición por Chelo2 el Mié Abr 20, 2016 2:15 pm, editado 1 vez en total.
OpenOffice 4.1.3 en Windows 7
Re: Cargar Valor de Variable desde otro archivo.
Sin ver código es algo complicado ayudarles... pero... ¿una variable global?... para eso son...
Saludos
Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
-
Chelo2
- Mensajes: 103
- Registrado: Mié Ago 14, 2013 4:25 am
- Ubicación: Lomas de Zamora, Buenos Aires, Argentina
Re: Cargar Valor de Variable desde otro archivo.
Está declarada como variable global, pero al pasar al otro archivo, cuando verifico el valor de la misma mostrándolo a través de un MsgBox, no pasó. Está vacía.
Transcribo el código que utilizo en el botón para pasarlos datos del diálogo a los campos:
Gracias Mauricio...
Chelo2
Transcribo el código que utilizo en el botón para pasarlos datos del diálogo a los campos:
Código: Seleccionar todo
'###############################################################################################################
' PASAJE DE DATOS A LA PLANTILLA DE NOTAS
'###############################################################################################################
Dim Libro_Plant_Notas as object
'ABRE LA PLANTILLA DE NOTAS TIPO
'===============================================================================================================
Sub Abre_Plant_Nota
'TOMA LA RUTA DE UNA CELDA CON NOMBRE DE RANGO
oDoc = ThisComponent
oParam = oDoc.getSheets.getByName("Param")
oDire = oParam.getCellRangeByName("B135")
Ruta = oDire.getString
'VERIFICA SI EL ARCHIVO NO SE ENCUENTRA ABIERTO. sI ES ASÍ CANCELA EL PROCEDMIENTO
ocupado = False
If DocumentoAbierto(Ruta) = True Then
ocupado = True
Exit Sub
End if
'SI NO ESTÁ ABIERTO, LO ABRE
Libro_Plant_Notas = AbrirArchivo (Ruta, "False", "", 3, "False") '(Ruta, Oculto, password, con Macro, SoloLectura)
'Libro.Close(True)
Call Guarda_Datos_2
End Sub
'PASA LOS DATOS DEL DIÁLOGO A LOS CAMPOS DE LA NOTA TIPO
'=======================================================================================
Sub Guarda_Datos_2
Carga "Sig_Area", xSg1.Text
Carga "Sig_Num", xSg2.Text
Carga "Sig_Anio", xSg3.Text
Carga "Sig_Alc", xSg4.Text
Carga "Nota", xNota.Text
''If xNota = "" Then xNota = oDialogo.Model.TF_5.Text
Carga "N_Anio", xAnio.Text
Carga "Fecha", xFecha.Text
Carga "Destino", xDest.Text
Carga "Inic1", Ucase( xInic1.Text)
Carga "Inic2", Ucase(xInic2.Text)
Carga "Inic3", Ucase(xInic3.Text)
'SI EL ASUNTO NO SE IDENTIFICA CON UN CUIT Y NOMBRE
If xCheck2.State = 1 Then
Carga "Asun_Dato_Adic", Ucase(xAsunto.Text)
Else
Carga "Asun_Dato_Adic", Ucase(xNombre.Text) & Chr(10) & "CUIT N° " & xCuit.Text & Chr(10) & Ucase(xAsunto.Text)
'Carga "Asun_Cuit", xCuit.Text
'Carga "Asun_Dato_Adic", Ucase(xAsunto.Text)
End if
End Sub
'Carga en los Campos de la Nota los valores de los cuadros de Texto del Diálogo
'==========================================================================================
Sub Carga (cCampo as string, cCopia as string)
Dim Campo as object
Campo = Libro_Plant_Notas.getTextFieldMasters.GetByName ("com.sun.star.text.FieldMaster.User." & cCampo)
Campo.Content = cCopia
End SubGracias Mauricio...
Chelo2
OpenOffice 4.1.3 en Windows 7
Re: Cargar Valor de Variable desde otro archivo.
No veo la variable global... ¿cual es?
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
-
Chelo2
- Mensajes: 103
- Registrado: Mié Ago 14, 2013 4:25 am
- Ubicación: Lomas de Zamora, Buenos Aires, Argentina
Re: Cargar Valor de Variable desde otro archivo.
Perdón.. no la había copiado aquí, pero estaba en el primer módulo del conjunto de código. Estas son las variables que puedo llegar a usar en el archivo Writer que abro:
Muchas gracias.
Chelo2
Código: Seleccionar todo
Global usuario As Variant
Global usu_largo As Variant
Global usu_corto As Variant
Global area As VariantChelo2
OpenOffice 4.1.3 en Windows 7
Re: Cargar Valor de Variable desde otro archivo.
el código que muestras... ¿esta dentro de un archivo o dentro de Mis Macros en la aplicación?...
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
-
Chelo2
- Mensajes: 103
- Registrado: Mié Ago 14, 2013 4:25 am
- Ubicación: Lomas de Zamora, Buenos Aires, Argentina
Re: Cargar Valor de Variable desde otro archivo.
Todo el código, incluso las variables globales están en el archivo (No en Mis macros). de hecho esas variables globales las utilizo en diferentes módulos, para distintas tareas y funcionan perfectamente. Pero no se me ocurre como usarlas en el segundo libro o como cargar ese mismo valor las variables en el segundo archivo. ya sean con el mismo nombre o con otro si fuera necesario.
Muchas gracias,
Chelo2
Muchas gracias,
Chelo2
OpenOffice 4.1.3 en Windows 7
Re: Cargar Valor de Variable desde otro archivo.
Hace mucho que no programo en Basic, pero la ultima vez, el manejo de variables globales no era muy fino... pero... el que las tengas dentro de los archivos, puede que sea el problema, es decir, puede que el "ambito" "normal" de una variable global "dentro" de un archivo, sea solo visible en los modulos de ese archivo. Si puedes probar a declarar solo una variable Global pero dentro de Mis Macros e intentar usarla, tal vez resuelva el problema.
Saludos
Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
- PepeOooSevilla
- Mensajes: 1480
- Registrado: Sab Abr 04, 2009 6:10 pm
- Ubicación: Sevilla (España)
Re: Cargar Valor de Variable desde otro archivo.
Hola.
Si no funciona lo comentado por mauricio podrías intentar lo siguiente:
Si no funciona lo comentado por mauricio podrías intentar lo siguiente:
- En CALC:
- Guardar valor (o valores) de la variable (o variables) en archivo de texto o binario. Consultar en la Ayuda la instrucción OPEN.
- En WRITER:
- Comprobar que existe archivo de variable
- Caso SI existe:
.....- Leer valor guardado de la variable
.....- Eliminar archivo de variable si procede
- Caso NO existe:
.....- Mostrar mensaje (o lo que proceda)
LibreOffice 6.4.6. Windows 10. Java 8 rev. 261 (64 bits)
Por favor, utiliza el Foro para tus consultas, no los mensajes privados
Si usas OpenOffice/LibreOffice trabaja y guarda en ODT, ODS, ODP, ... Y haz copias de seguridad.
Por favor, utiliza el Foro para tus consultas, no los mensajes privados
Si usas OpenOffice/LibreOffice trabaja y guarda en ODT, ODS, ODP, ... Y haz copias de seguridad.
-
Chelo2
- Mensajes: 103
- Registrado: Mié Ago 14, 2013 4:25 am
- Ubicación: Lomas de Zamora, Buenos Aires, Argentina
Re: Cargar Valor de Variable desde otro archivo.
Efectivamente, si cargo las variables globales en "Mis Macros" funciona perfectamente. Pero dado que se trata de un programa que he ido armando de a poco con muchas funcionalidades, cada vez que cambio algo, solo copio el archivo en las diferentes PC a través de la red interna. Lo otro de cargar la variable global en "Mis Macros" me complicaría un poco, ya que debería realizar la carga físicamente en cada PC de usuario.
Voy a estudiar un poco al alternativa propuesta por Pepe a ver si puedo comprenderla y aplicarla.
Muchas gracias a todos por su aporte.
Un saludo desde Buenos Aires, Argentina.
Chelo2
Voy a estudiar un poco al alternativa propuesta por Pepe a ver si puedo comprenderla y aplicarla.
Muchas gracias a todos por su aporte.
Un saludo desde Buenos Aires, Argentina.
Chelo2
OpenOffice 4.1.3 en Windows 7
Re: [RESUELTO] Cargar Valor de Variable desde otro archivo.
Es mucho mejor si desarrollas una extensión, la misma puede apuntar a un repositorio en tu red interna y actualizarse con un click en cada terminal... si necesitas guía para ello, aquí estamos...
Saludos
Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
-
Chelo2
- Mensajes: 103
- Registrado: Mié Ago 14, 2013 4:25 am
- Ubicación: Lomas de Zamora, Buenos Aires, Argentina
Re: [RESUELTO] Cargar Valor de Variable desde otro archivo.
Uyyy... me suena a chino mandarín ..jaja ..como me encantaría entender de que hablas!! .. jeje, pero te cuento que soy un simple empleado administrativo con "0" conocimientos de programación, pero me encanta crear cosas útiles para mis compañeros y para mí, de manera que me he transformado en un "miro-analizo-copio-pego-pruebo" y cuando a veces funciona me pongo felíz!!
, y cuando no sale lo que espero simplemente no duermo...
Con respecto a las extensiones, me veo un poco limitado para su instalación porque me desempeño en una institución estatal con bastantes restricciones para instalar cosas, pero si tienes algún link con el tema que me sugieres te lo agradeceré, por lo menos para satisfacer mi curiosidad.
Muchísimas gracias Mauricio y a todos por el aporte y el incentivo para aprender más.
Un saludo desde Buenos Aires, Argentina.
Chelo2
Con respecto a las extensiones, me veo un poco limitado para su instalación porque me desempeño en una institución estatal con bastantes restricciones para instalar cosas, pero si tienes algún link con el tema que me sugieres te lo agradeceré, por lo menos para satisfacer mi curiosidad.
Muchísimas gracias Mauricio y a todos por el aporte y el incentivo para aprender más.
Un saludo desde Buenos Aires, Argentina.
Chelo2
OpenOffice 4.1.3 en Windows 7