Escribir coma en vez de punto en google sheet

Esta sección es para preguntas sobre programación/scripting usando AutoHotkey.

Moderator: Flipeador

Nucleorion
Posts: 50
Joined: 11 Dec 2016, 11:33

Escribir coma en vez de punto en google sheet

Post by Nucleorion » 29 Nov 2022, 06:06

Hola tengo este sencillo codigo que cuando tengo chrome activo al darle a la tecla punto del teclado numerico pone una coma

Code: Select all

#SingleInstance force
;------------------ Chrome -----------------
if WinActive(ahk_class Chrome_WidgetWin_1)
NumpadDot::,
El problema es que cuando vas a escribir una ip como por ejemplo 192.168.1.1 no quieres que ponga comas. ¿Podria hacer que solo se aplicase cuando la url es https://docs.google.com/spreadsheets?

sofista
Posts: 644
Joined: 24 Feb 2020, 13:59
Location: Buenos Aires

Re: Escribir coma en vez de punto en google sheet

Post by sofista » 29 Nov 2022, 08:08

Hola: Para definir el contexto de un hotkey o hotstring se usan algunas directivas —#IfWinActive / #IfWinNotActive / #IfWinExist / #IfWinNotExist / #If—, según lo que se quiera hacer. En tu caso, elegiría la primera de las mencionadas. No uso Chrome, así que en el código de ejemplo uso Firefox:

Code: Select all

SetTitleMatchMode, 2
#IfWinExist, Hoja de cálculo ahk_exe firefox.exe    ; título del archivo
NumpadDot::,
#If
Más información: #IfWinActive .

Editado: Parece que no me había despertado del todo :)

Nucleorion
Posts: 50
Joined: 11 Dec 2016, 11:33

Re: Escribir coma en vez de punto en google sheet

Post by Nucleorion » 29 Nov 2022, 09:28

Gracias Sofista!

Hoja de cálculo es el titulo de la ventana? La ventana se titula de maneras diferentes según el libro de calculo que tengas abierto

Ese codigo no haria que siempre que este la ventana abierta ponga la coma aunque la ventana no tenga el foco?

Y por ultimo #IfWinExist pone que esta Deprecated. Seria mejor evitarlo no?

Lo que busco es que independientemente de como se titulo la ventana solo cambie el punto por la coma cuando se esta en una hoja de google sheet

sofista
Posts: 644
Joined: 24 Feb 2020, 13:59
Location: Buenos Aires

Re: Escribir coma en vez de punto en google sheet

Post by sofista » 29 Nov 2022, 10:16

Nucleorion wrote:
29 Nov 2022, 09:28
Gracias Sofista!

Hoja de cálculo es el titulo de la ventana? La ventana se titula de maneras diferentes según el libro de calculo que tengas abierto

Ese codigo no haria que siempre que este la ventana abierta ponga la coma aunque la ventana no tenga el foco?

Y por ultimo #IfWinExist pone que esta Deprecated. Seria mejor evitarlo no?

Lo que busco es que independientemente de como se titulo la ventana solo cambie el punto por la coma cuando se esta en una hoja de google sheet
Sí, este es el título cuando abrís un documento nuevo desde Firefox: Hoja de cálculo sin título - Hojas de cálculo de Google — Mozilla Firefox. La información la podés extraer con Window Spy. Como es obvio, si usás la versión inglesa, el título será otro.

Si son varias las ventanas, entonces o bien creás un grupo o bien una lista con el booleano OR —no recomendable para más de dos opciones—. También podés hacer lo siguiente:

Code: Select all

SetTitleMatchMode, 2
#IfWinActive, Hojas de cálculo de Google    ; título genérico, consultar con Window Spy
NumpadDot::,
#If
Este código convertirá el NumpadDot a una coma sólo si la ventana activa es una hoja de cálculo, independientemente del título. Tomá en cuenta que cambié la directiva a #IfWinActive, según bien advertiste.

Por último, no te confundas, los que han sido declarados obsoletos son los comandos, y fueron reemplazados por funciones; las directivas, cuyo primer símbolo es # siguen siendo válidas y por cierto muy necesarias.

Creo que esto es todo :)

Nucleorion
Posts: 50
Joined: 11 Dec 2016, 11:33

Re: Escribir coma en vez de punto en google sheet

Post by Nucleorion » 30 Nov 2022, 03:41

Genial! Funciona a la perfección. Y ademas indistintamente de que navegador uses.

No sabia lo del titulo generico, y que se ponia directamente detras de la directiva. Me será util para muchos scripts que tengo. O sea estoy viendolo en window spy y solo sale el titulo que yo usaba en otras ocasiones con .*Hojas de cálculo de Google.* pero veo que incluso funciona mejor y es mas sencillo simplemente poner parte del titulo.

El #If del final, que hace exactamente? No veo info sobre ello en https://www.autohotkey.com/docs/commands/_IfWinActive.htm

sofista
Posts: 644
Joined: 24 Feb 2020, 13:59
Location: Buenos Aires

Re: Escribir coma en vez de punto en google sheet

Post by sofista » 30 Nov 2022, 07:49

Me alegro de que todo haya salido bien :)

En respuesta al asunto del título de una ventana, sea específico o genérico, lo recomendable es usarlo siempre bajo el control de SetTitleMatchMode. En este script, lo adecuado es usarlo con el número 2, pero también hay otras opciones.

Y respecto de #IF, como estas directivas definen un contexto, lo correcto es también indicar dónde termina el ámbito de aplicación, es decir, cuáles son con exactitud los hotkeys y/o hotstrings afectados. Quizás en este caso no tiene importancia porque hay uno solo, pero si, como suele ocurrir, con el tiempo se agregan otros, el comportamiento de estos últimos puede quedar afectado. En otras palabras, es una medida prudencial. Está explicado en #If :
To turn off context sensitivity, specify #If or any #IfWin directive but omit all the parameters. For example: #IF
.

Nucleorion
Posts: 50
Joined: 11 Dec 2016, 11:33

Re: Escribir coma en vez de punto en google sheet

Post by Nucleorion » 30 Nov 2022, 14:19

Muchisimas gracias!

Eres un genio ;)

sofista
Posts: 644
Joined: 24 Feb 2020, 13:59
Location: Buenos Aires

Re: Escribir coma en vez de punto en google sheet

Post by sofista » 01 Dec 2022, 09:23

Ja, ja, no, nada de genio, sólo un usuario con algo de experiencia ;)

Post Reply

Return to “Pedir Ayuda”