[RESUELTO] Enviar un texto a clipboard

Discute sobre la aplicación de hojas de cálculo
Responder
CHALS
Mensajes: 10
Registrado: Dom Jul 31, 2016 3:53 pm

[RESUELTO] Enviar un texto a clipboard

Mensaje por CHALS »

He estado leyendo los hilos al respecto, pero estoy hecho un lío. He probado varias propuestas de distintos hilos y nada me funciona. Incluso he instalado Basic IDE Tools, para intentarlo, sin éxito.
Entiendo que sería tan sencillo como crear un procedimiento, en el cual se declare una variable (string), asignarle el texto y después usar una instrucción que meta ese contenido en el portapapeles. Pero no hallo la forma. Disculpad, el fondo del problema es que he desarrollado muy pocas cosas con código en OpenOffice. :crazy: :oops:
Muchas gracias a todos por vuestras aportaciones. Este foro siempre me ha sido útil, aunque entro en él muy ocasionalmente.
Última edición por CHALS el Mar Jun 06, 2017 5:18 pm, editado 5 veces en total.
OpenOffice 4.1.2 en Windows 7
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Enviar un texto a clipboard

Mensaje por mauricio »

Con EasyDev, es muy fácil: http://easydev.readthedocs.io/es/latest ... rtapapeles

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
CHALS
Mensajes: 10
Registrado: Dom Jul 31, 2016 3:53 pm

Re: Solucionado *** Enviar un texto a clipboard

Mensaje por CHALS »

mauricio escribió:Con EasyDev, es muy fácil: http://easydev.readthedocs.io/es/latest ... rtapapeles
Perfecto. Finalmente he notado que hay que descargar e instalar EasyDev_v2.7.2.oxt y con ello funciona perfectamente.
Magnífica herramienta y excelente tu propuesta de explorarla y usarla para diversos fines.
Como siempre, este foro me ha sido muy útil.
Saludos a todos.

Saludos
Última edición por CHALS el Jue Jun 01, 2017 8:33 pm, editado 3 veces en total.
OpenOffice 4.1.2 en Windows 7
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Enviar un texto a clipboard

Mensaje por mauricio »

______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: [RESUELTO] - Enviar un texto a clipboard

Mensaje por mauricio »

para eso la desarrolle, para que hacer más fácil la programación...

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
CHALS
Mensajes: 10
Registrado: Dom Jul 31, 2016 3:53 pm

Re: [RESUELTO] - Enviar un texto a clipboard

Mensaje por CHALS »

El caso es que he quedado un poco frustado, porque esos complementos facilitan muchísimo la programación, pero no logro instalarlos trabajando en Android, a pesar de que la apk AndrOpen_Office por lo demás trabaja bien.
Yo intentaba usar la hoja de cálculo en Android, que con dicha apk gestiona bien el código de las macros, pero no me admite aquellos complementos.
Tendré que conseguir el código propio de OpenOffice, aunque sea más complejo.
Muchas gracias por el interés.
Saludos a tod@s.
OpenOffice 4.1.2 en Windows 7
Avatar de Usuario
PepeOooSevilla
Mensajes: 1480
Registrado: Sab Abr 04, 2009 6:10 pm
Ubicación: Sevilla (España)

Re: Enviar un texto a clipboard

Mensaje por PepeOooSevilla »

Hola.
Este código está extraído del apartado 5.23.4. Storing a string to the clipboard del libro "Useful Macro Information For OpenOffice.org" de Andrew Pitonyak (la cadena "Hola amigos, ..." no :lol: ).

Código: Seleccionar todo

REM  *****  BASIC  *****
Option Explicit

Private oTRX
Sub CopyToClipboard
	Dim null As Object
	Dim sClipName As String
	Dim oClip As Object
	Dim oClipContents As Variant

	sClipName = "com.sun.star.datatransfer.clipboard.SystemClipboard"
	oClip = createUnoService(sClipName)
	oTRX = createUnoListener("TR_", "com.sun.star.datatransfer.XTransferable")
	oClipContents = oClip.setContents(oTRX, null)
End Sub

Function TR_getTransferData( aFlavor As com.sun.star.datatransfer.DataFlavor) As Any
	If (aFlavor.MimeType = "text/plain;charset=utf-16") Then
		TR_getTransferData = "Hola amigos, ..."
	EndIf
End Function

Function TR_getTransferDataFlavors() As Any
	Dim aF As New com.sun.star.datatransfer.DataFlavor

	aF.MimeType = "text/plain;charset=utf-16"
	aF.HumanPresentableName = "Unicode-Text"
	TR_getTransferDataFlavors = Array(aF)
End Function

Function TR_isDataFlavorSupported(aFlavor As com.sun.star.datatransfer.DataFlavor) As Boolean
	'My XP system beep - shows that this routine is called every 2 seconds
	'call MyPlaySoundSystem("SystemAsterisk", true)
	TR_isDataFlavorSupported = (aFlavor.MimeType = "text/plain;charset=utf-16")
End Function
En el archivo adjunto al pinchar en el botón se copia "Hola amigos, ..." en el portapapeles. Después sólo tienes que pegar "donde quieras". Como ves es más enrevesado que el código de mauricio pero si no hay otra forma ...
Saludos cordiales.
P.D.: mauricio, gracias por hacernos la programación más fácil.
Adjuntos
FORO_CALC_Copiar_Texto_Clipboard.ods
(10.45 KiB) Descargado 119 veces
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.
CHALS
Mensajes: 10
Registrado: Dom Jul 31, 2016 3:53 pm

Re: Enviar un texto a clipboard

Mensaje por CHALS »

Muchas gracias. Voy a usar esa solución.
Agradezco mucho vuestra disponibilidad y eficacia.
Saludos de nuevo a tod@s.
OpenOffice 4.1.2 en Windows 7
Responder