Página 1 de 1

[RESUELTO] Macro para guión largo

Publicado: Mié Nov 25, 2015 2:45 pm
por jorge52
Hola.
Hace tiempo abrí un hilo para ver de solucionar un problema con el guión largo (el que se usa en los diálogos). Tras dar muchas vueltas y analizar respuestas, llegué a la conclusión de que no valía la pena cambiar nada y, por el camino de "Herramientas -> Autocorrección" seguir convirtiendo dos guiones seguidos en un guión largo. Pero como ello supone picar mucho y uno es vago, pues... :? . Al final me decidí y me metí con lo de las "macro". Grabé una para insertar el susodicho guión de marras y le asigné una combinación de teclas (Control+Espacio). ¡Eureka! ¡Aleluya! ¡¡FUNCIONÓ!!
Pero... ¡Siempre hay un pero!
Uso, para escribir, la fuente Arial y todo funciona hasta que quieres colocar el cursor (porque te has equivocado o por cualquier otra razón) inmediatamente después (sin espacio) de un guión de los insertados mediante la macro; al hacerlo la fuente cambia y se coloca en Times New Roman.
Sorprendente ¿no? :shock:
¿Hay forma de evitarlo? ¿Por qué pasa?
Si el guión largo lo escribo a la antigua, es decir, dos guiones seguidos + espaciador, no pasa nada.
Si alguien sabe como arreglarlo se lo agradeceré infinito.
¡Ah! He actualizado mi writer. Ya no es el 4.2 etc... Ahora, si no recuerdo mal, es 4.4. etc... ¿Cómo cambio para que conste en el foro?

Jorge.

Re: Macro para guión largo

Publicado: Mié Nov 25, 2015 4:01 pm
por mauricio
es probable, que el código cambie el estilo, pero así, sin ver, es un poco complicado saberlo... muestra el ćodigo para verificarlo...

Saludos

Re: Macro para guión largo

Publicado: Mié Nov 25, 2015 5:34 pm
por jorge52
mauricio escribió:es probable, que el código cambie el estilo, pero así, sin ver, es un poco complicado saberlo... muestra el ćodigo para verificarlo...

Saludos
No entiendo lo que quieres decir.
¿Qué es el código? ¿Cómo hago para mostrarlo?

Re: Macro para guión largo

Publicado: Jue Nov 26, 2015 9:49 am
por jorge52
Hola.
Ha habido una novedad en el asunto. La explico por si puede ser significativa.
Haciendo pruebas, eliminé la macro y su atajo y la volví a grabar. Explico cómo lo hice:
Herramientas -> Macros -> Grabar macros.
Con el grabador en marcha:
Insertar -> Carácter especial ->en el desplegable del cuadro emergente -> puntuación general -> escoger el guión (U+2014) -> insertar.
Detener la grabadora.
Seleccionar Macros de LibreOffice/User/Standard/Module1
Dar un nombre a la macro (guion_largo [sin acentos ni espacios])
Guardar.
ir a Herramientas -> Personalizar -> Teclado
señalar (arriba a la derecha del cuadro emergente) Writer
Seleccionar una combinación de teclas (Alt+Ctrl+Espacio)
Desde Área: doble clic en Macros de LibreOffice, en User, en Standard, en Module1
Desde Función: un clic en guion_largo
Clic en Modificar
Clic en Aceptar.

Hasta aquí todo se ha hecho igual que la vez anterior salvo que he escogido otra combinación de teclas; Alt+Ctrl+Espacio en lugar de Ctrl+Espacio. Una vez finalizado el proceso, la combinación AltGr+espacio hace aparecer el deseado guión largo, pero sigue ocurriendo el mismo fenómeno que antes.
La diferencia o novedad de la que hablaba al principio es que esta vez, durante el proceso de grabación de la macro, en el documento abierto estaba seleccionada la fuente Arial 12 y, mientras sea esa fuente la que use y solo si es esa, todo va bien, pero si me da por escribir con otra, vuelve a pasar lo de antes. La diferencia es que ahora el cambio de fuente se produce hacia Arial.

Mi pregunta final sigue siendo la misma: Cómo he de hacer para que, use la fuente que use, cuando, por la razón que sea, lleve el cursor inmediatamente detrás de un guión largo no me la cambie.

Muchísimas gracias,
Jorge.

Re: Macro para guión largo

Publicado: Dom Nov 29, 2015 11:39 am
por Sergei Riba
Jorge52, yo necesitaba hacer lo mismo (insertar un guión largo como el que se emplea en los diálogos), así que grabé una macro, la edité y le asigné el atajo "Alt+g". Me funciona a la perfección. No me altera el formato ni me acarrea problemas de ningún tipo, gracias a ciertos toques mágicos que le di al código generado automáticamente. He aquí mi macro tras mis toques mágicos:

Código: Seleccionar todo

sub GuionDialogo
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(1) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Symbols"
args1(0).Value = "—"
rem args1(1).Name = "FontName"
rem args1(1).Value = "Tinos"

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

end sub 
Como se ve claramente, le anulé la parte del formateo del símbolo. Seguramente en tu caso esas instrucciones siguen activas. ¡Ya sabes, pues, dónde golpear con la varita mágica!

Re: Macro para guión largo

Publicado: Lun Nov 30, 2015 9:35 am
por jorge52
Hola Sergi, gracias por la respuesta.
Me parece que hablas de lo mismo que, un par de post más arriba, decía Mauricio.
El problema que tengo es que, si intento dar un paso más allá de clicar sobre un icono, soy absolutamente inculto en temas informáticos. :? . Pero por el sistema... :crazy: suelo llegar más lejos de lo que pudiera parecer.
Bromas aparte, partiendo de que mi ordenata tiene un Windows 7 ¿puedo acceder al código de alguna manera o es algo fuera de mi alcance? ¿Vale la pena que lo intente? o, dicho de otra forma, ¿lo podría hacer a base de seguir unas instrucciones al pie de la letra como he hecho para grabar la macro, sin saber lo que estoy haciendo, solo fiándome de quien me lo dice?
Repito: Muchas gracias por el interés y las respuestas.

Jorge.

Re: Macro para guión largo

Publicado: Lun Nov 30, 2015 10:18 am
por Sergei Riba
Jorge, es fácil. Hagamos de cuenta que has grabado la macro y le has puesto el nombre "GuionLargo". Pues bien: Vas al menú Herramientas->Macros->Organizar macros->Open Office Basic. "Basic" es el lenguaje que usa OpenOffice para sus macros. Al clickear ese comando del menú, se abrirá una ventana con este título: "Macros Basic de OpenOffice". En la lista de la derecha verás que figura la macro "GuionLargo" (o como la hayas llamado). Selecciónala y luego pulsa el botón "Editar". Se abrirá el editor de códigos Basic, que te mostrará el código de tu macro, parecido al que puse más arriba. Debes cambiar las líneas siguientes:

Código: Seleccionar todo

args1(1).Name = "FontName"
args1(1).Value = "Tinos"
Por estas otras:

Código: Seleccionar todo

rem args1(1).Name = "FontName"
rem args1(1).Value = "Tinos"
Eso se hace poniendo la palabra "rem" al comienzo de cada línea. "rem" significa que el intérprete de Basic no obedecerá la instrucción, sino que la considerará un simple comentario para ser leído por los humanos. O sea que salteará esas líneas. Una vez que pongas esos dos "rem", deberás guardar los cambios hechos en el código. Para eso, ve al menú Archivo->Guardar, o bien, pulsa Ctrl+G. (Eso en el editor de código Basic, claro está). Luego puedes cerrarlo para volver a Writer. Hecho eso, verás que ahora tu macro funciona Ok.

PD: En mi caso la macro se grabó con la fuente "Tinos". No sé en tu caso. Da igual. La idea es anular la especificación de fuente.

Re: Macro para guión largo

Publicado: Lun Nov 30, 2015 1:30 pm
por jorge52
¡¡GENIAL!!
La varita mágica ha funcionado; ahora no me cambia la fuente.
Muchísimas gracias Sergi. Y es que... ¡No hay como saber! Y si no... ¡Preguntar al que sí sabe!
Al final me haré un experto en Writer ;) De momento este tema se puede dar por resuelto. Esta tarde abriré otro para mirar de solucionar un problema que se me ha planteado con la numeración de páginas. Después de comer me pondré con ello.

Agradecidísimo a todos,

Jorge.

Re: [RESUELTO] Macro para guión largo

Publicado: Sab Dic 05, 2015 7:54 pm
por SLV-es
Me alegra que se haya solucionado; yo también soy muy perro, digo, de los que maximizan el valor de ahorrar una pulsación de tecla.

Aún así me maravilla todo el trabajo que te has tomado para en lugar de teclear guión guión espacio y como máxime BackSpace para quitar el espacio, teclear Ctrl espacio . "La que has liado, pollito" para ahorrate una tecla (o dos).

Sin dudarlo, no lo entiendo, pero sé seguro una cosa: eres de los míos. Felicidades :)

Re: [RESUELTO] Macro para guión largo

Publicado: Dom Dic 06, 2015 10:32 am
por jorge52
¡Hola SLV-es.
Je, je. Ya tienes razón en pensar que soy un poco vago, ya. Pero no creas que tanto. Te explico una cosa para que entiendas:
El procesador de textos lo uso para escribir... (¡Qué novedad! estarás pensando) Ya sé que todo el mundo lo usa para eso, pero al decir "escribir" me refiero al oficio de escritor. Te voy a poner un ejemplo:

–Habrá que probarlo –dijo el policía haciendo una mueca. Después cambió de tono y continuó–: Pero todo lo que me has dicho no explica por qué aquel hombre estaba donde estaba y como estaba.
–No he llegado al final todavía –replicó Félix–. Sólo me había tomado un respiro.

Este es un trocito (50 palabras aproximadamente) de mi última novela. Para picarlo usando el guión largo (todos los guiones que ves son largos en el documento original ), tendría que haber pulsado 26 veces más de la forma que propones (y así ha sido porque así está picada esta novela) que habiendo hecho lo que me habéis enseñado en este hilo. Pero estamos hablando de un texto de 50 palabras (casi) y la dichosa novelita contiene la friolera de 60000. ¿Te imaginas? (no calcules 60000:50=1200; 1200x26=31200. La cosa no llega a tanto porque los discursos narrativos casi no suelen incluir guiones, pero aun y así son muchas las pulsaciones ahorradas)
Y voy más lejos: Si solo se tratase del número de veces que le doy con el dedito a las teclas, tendría un pase y quizá no me hubiera molestado como lo he hecho en montarme lo de la macro, pero en esto interviene otro aspecto de muy superior enjundia que es la concentración. ¿Tú sabes el jueguecito de ahora voy para adelante, ahora para atrás, lo que llega a desconcentrar?
Por otra parte, hay dos cosas que también han jugado su papel. A saber: a- Tienes razón en que soy vago y b- ¿Sabes lo que me he divertido aprendiendo todo lo que me habéis ido explicando y lo contento que me pongo cada vez que doy un pasito adelante, por pequeño que sea?

Y, disimulando para que no me pille algún administrador del foro metiendo tanto "off topic", me despido no sin dar las gracias de nuevo a todos los que me ayudáis.

Jorge.

Re: [RESUELTO] Macro para guión largo

Publicado: Dom Dic 06, 2015 11:44 am
por SLV-es
Sólo decirte dos cosas: mauricio y SLV-es son los administradores de este foro, así que pillarte, te han pillado :lol: :lol: :lol:
Y la segunda, lo dicho: somos muy iguales, tu explicación lo reafirma, y de ahí mi sincera felicitación :D

Re: [RESUELTO] Macro para guión largo

Publicado: Dom Dic 06, 2015 1:18 pm
por jorge52
SLV-es escribió:Sólo decirte dos cosas: mauricio y SLV-es son los administradores de este foro, así que pillarte, te han pillado :lol: :lol: :lol:
:oops: :oops: :oops: :knock: :knock: :knock:
SLV-es escribió: Y la segunda, lo dicho: somos muy iguales, tu explicación lo reafirma, y de ahí mi sincera felicitación :D
:super: :super: :super:

Re: [RESUELTO] Macro para guión largo

Publicado: Sab Jun 09, 2018 10:25 pm
por tattuaded
jorge52 escribió:Hola.
Hace tiempo abrí un hilo para ver de solucionar un problema con el guión largo (el que se usa en los diálogos). Tras dar muchas vueltas y analizar respuestas, llegué a la conclusión de que no valía la pena cambiar nada y, por el camino de "Herramientas -> Autocorrección" seguir convirtiendo dos guiones seguidos en un guión largo. Pero como ello supone picar mucho y uno es vago, pues... :? . Al final me decidí y me metí con lo de las "macro". Grabé una para insertar el susodicho guión de marras y le asigné una combinación de teclas (Control+Espacio). ¡Eureka! ¡Aleluya! ¡¡FUNCIONÓ!!
Pero... ¡Siempre hay un pero!
Uso, para escribir, la fuente Arial y todo funciona hasta que quieres colocar el cursor (porque te has equivocado o por cualquier otra razón) inmediatamente después (sin espacio) de un guión de los insertados mediante la macro; al hacerlo la fuente cambia y se coloca en Times New Roman.
Sorprendente ¿no? :shock:
¿Hay forma de evitarlo? ¿Por qué pasa?
Si el guión largo lo escribo a la antigua, es decir, dos guiones seguidos + espaciador, no pasa nada.
Si alguien sabe como arreglarlo se lo agradeceré infinito.
¡Ah! He actualizado mi writer. Ya no es el 4.2 etc... Ahora, si no recuerdo mal, es 4.4. etc... ¿Cómo cambio para que conste en el foro?

Jorge.
Esta funcionalidad es muy buena, pensé que no era posible aplicar macros en Open Office pero que bueno que si es posible.