[RESUELTO] Copiar una celda a otra con un macro

¿Nuevo en Apache OpenOffice? ¿No sabe cómo comenzar o dónde hacer su pregunta? ¡Este es el lugar!
Reglas del Foro
Los moderadores podrían mover los temas creados aquí a un foro más apropiado.
Si usted publicó aquí y no encuentra el tema, puede buscar sus mensajes haciendo clic en la opción «Buscar sus mensajes» que se encuentra justo debajo de la cabecera de la página, junto al panel de control de usuario y al acceso a sus mensajes privados.
Responder
SamaelAguilar
Mensajes: 5
Registrado: Mié Ene 27, 2016 1:58 am

[RESUELTO] Copiar una celda a otra con un macro

Mensaje por SamaelAguilar »

Muy buen dia, soy nuevo utilizando opeen office y necesito hacer un macro que me copia la celda a1 a cuakuiqer hota celda , pero al grabar el macro pegue el contenido en a celda a4 y siempre me copia el resultado a la misma celda no a la especificada la sintaxis que tengo es esa pero no se como especificar que secopie a cualquiera.

Código: Seleccionar todo

Sub Main

End Sub


sub INICIO
rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$A$1"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())

rem ----------------------------------------------------------------------
dim args3(0) as new com.sun.star.beans.PropertyValue
args3(0).Name = "ToPoint"
args3(0).Value = "$A$4"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args3())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Paste", "", 0, Array())


end sub
Editado por el moderador (mauricio) para cambiar el texto a mínusculas. Si no lo has hecho aún por favor lee la Guía de supervivencia
Última edición por SLV-es el Lun Feb 22, 2016 10:02 pm, editado 2 veces en total.
Razón: Mi padre, epd, decía: "Hay cosas que es mejor hacerlas que mandarlas". Marco como resuelto
winodws 10 openofiice 4.2.1
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Copiar una celda a otra con un macro

Mensaje por mauricio »

Aquí hay información de como hacer lo que quieres: https://wiki.openoffice.org/wiki/ES/Man ... ndo_rangos

Si quieres simplificar las cosas, aquí hay otra forma: http://easydev.readthedocs.org/en/lates ... #clipboard

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
SamaelAguilar
Mensajes: 5
Registrado: Mié Ene 27, 2016 1:58 am

Re: Copiar una celda a otra con un macro

Mensaje por SamaelAguilar »

Es que tengo que hacer una copia de la hora exacta como para llevar un control de tiempo entonces puse un botón que le copie la sellada A1 que tiene la función ahora para copiar la hora exacta y luego pegarla en la celda para poder hacer un cálculo de minutos utilizados , pero al crear el macro lo que tengo en A1 siempre se pega en A4
winodws 10 openofiice 4.2.1
Avatar de Usuario
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Copiar una celda a otra con un macro

Mensaje por fornelasa »

Intenta con:

Código: Seleccionar todo

Sub INICIO
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dim args1(1) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$A$1"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())
args1(0).Value = "$A$4"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
dispatcher.executeDispatch(document, ".uno:Paste", "", 0, Array())
dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())
args1(0).Name = "Flags"
args1(0).Value = "D"
args1(1).Name = "MoveMode"
args1(1).Value = 4
dispatcher.executeDispatch(document, ".uno:InsertContents", "", 0, args1())
end sub
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
SamaelAguilar
Mensajes: 5
Registrado: Mié Ene 27, 2016 1:58 am

Re: Copiar una celda a otra con un macro

Mensaje por SamaelAguilar »

BUENO MUCHAS GRACIAS YA LOGRE CORREGIR ESE ERRO AHORA LOQUE NECESITO HACER ES UN MACRO DONDE BORRE BARIOS RANGO DE CELDA A LA VEZ POR INTENTE GRABAR EL MACRO SELECIONANDO VARIOS RANGO DE CELDAS , POR EJEMPLO A6:B11 Y DEPUSES DE LA F6:G11 Y ASI SUCESIVAMENTE PERO SOLO ME BORRA EL PRIMER RANGO

DE ANTEMANO MUCHAS GRACIAS POR SU AYUDA
winodws 10 openofiice 4.2.1
Avatar de Usuario
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Copiar una celda a otra con un macro

Mensaje por fornelasa »

Antes de volver a solicitar ayuda debemos leer las normas del foro y aplicarlas.
Por ejemplo 3 fallas al menos en las que hemos incurrido:
1) Escribir en mayusculas (ya se nos habia advertido)
2) Un tema a la vez
3) Marcar el tema como resuelto

https://forum.openoffice.org/es/forum/v ... ?f=3&t=795

Saludos, Federico.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
SamaelAguilar
Mensajes: 5
Registrado: Mié Ene 27, 2016 1:58 am

Re: Copiar una celda a otra con un macro

Mensaje por SamaelAguilar »

ok. perfecto mil disculpas , y gracias por todo
winodws 10 openofiice 4.2.1
SamaelAguilar
Mensajes: 5
Registrado: Mié Ene 27, 2016 1:58 am

Re: Copiar una celda a otra con un macro

Mensaje por SamaelAguilar »

perdon por mi ignorancia donde finalizo el tema como resuelto
winodws 10 openofiice 4.2.1
Avatar de Usuario
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Copiar una celda a otra con un macro

Mensaje por fornelasa »

Para marcar un tema como [RESUELTO] debemos:
1) Editar el primer mensaje de este debate y poner [RESUELTO] al inicio de la consulta.
2) Marcar el mensaje con el icono verde (palomita o nike como gustes llamarle) para que al final quede más o menos así
Imagen[RESUELTO] Copiar una celda a otra con un macro
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Responder