[RESUELTO] Activar y Desactivar Insert Mode

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...
Responder
JorgeSanti
Mensajes: 23
Registrado: Dom Abr 10, 2016 7:36 pm

[RESUELTO] Activar y Desactivar Insert Mode

Mensaje por JorgeSanti »

Hola´a todos,
He estado buscando para activar el Overwrite mode mediante codigo en AOo Calc, pero no logro encontrar como.
En la wiki hace referencia unicamente a cambiar el modo mediante teclado (tecla insert) o mediante el mouse en la barra de estado de la aplicación (calc).
Supongo que podrá hacerse por código.
La tecla está identificada (codigo 1285) para saber si ha sido presionada.
En el gran libro de Mauricio y en el de Pitonyack, no encontré informacion.
Si alguien sabe o me puede indicar donde buscar se agradecerá.
Saludos a la gente del foro!!!
Jorge.
Última edición por JorgeSanti el Dom Ene 29, 2017 6:36 pm, editado 1 vez en total.
Apache OpenOffice 4.1.2.
Windows 7
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Activar y Desactivar Insert Mode

Mensaje por mauricio »

y... ¿como para que requieres esto?... lo pregunto por dos razones; primero por curiosidad y segunda para ver si hay alguna alternativa...

Saludos
______________________________________________
"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
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Activar y Desactivar Insert Mode

Mensaje por fornelasa »

Si, coincido, ¿que caso tendría activar o desactivar este modo al editar una celda por macro .... o es para Writer o cómo?
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!
JorgeSanti
Mensajes: 23
Registrado: Dom Abr 10, 2016 7:36 pm

Re: Activar y Desactivar Insert Mode

Mensaje por JorgeSanti »

Gracias, Mauricio y Federico por vuesto interes!
Seguramente habrá alternativas, pero como se me hizo fácil de esta manera, pensé que podía ser viable.
Les cuento: en un cuadro de dialogo (Calc), tengo un campo de fecha, a la cual le asigno de manera predeterminada una fecha dada (por ejemplo el primer dia del mes) que el usuario puede cambiar (lo mas probable es que cambie el día y mantenga el mes y el año).
Claro que para cambiarla, es mucho más sencillo si estoy en modo sobreescritura, que en modo insert. No se si he podido explicar la idea.
Por ello, asignando una fecha, poniendo el foco en el campo en cuestión, si logro activar el modo sobreescritura, el usuario solo tiene que tipear lo que quiere modificar, y listo.
No obstante, veo por las respuestas, que no debe ser muy facil hacerlo por código. Jeje.
Igual todas las sugerencias son bienvenidas!
Saludos.
Jorge.
Apache OpenOffice 4.1.2.
Windows 7
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Activar y Desactivar Insert Mode

Mensaje por mauricio »

¿por que no usar un control fecha, con dos clicks selecciona un usuario la fecha?

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
JorgeSanti
Mensajes: 23
Registrado: Dom Abr 10, 2016 7:36 pm

Re: Activar y Desactivar Insert Mode

Mensaje por JorgeSanti »

Es viable, pero lento.
Estoy tratando de que se use solo el pad numerico.
De manera de ingresar los numeros y enter, hace más rápido el ingreso.
Tengo la alternativa de presionar fisicamente la tecla Insert, que queda para los siguientes ingresos de fecha, hasta que cierre el cuadro de dialogo.
No me parece muy elegante, pero bueno . . se tiene lo que hay..
Igual lo tendré en cuenta.
Gracias.
Saludos.
Apache OpenOffice 4.1.2.
Windows 7
Avatar de Usuario
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Activar y Desactivar Insert Mode

Mensaje por fornelasa »

Intentemos con:
Almacena este código en un archivo del bloc de notas y al guardarlo hazlo de esta manera:
Nombre del archivo: modo.wsf
Nota: no modo, debe ser completo, o sea modo.wsf

Código: Seleccionar todo

<package>
   <job id="vbs">
      <script language="VBScript">
      Dim Args      
      Set Args = WScript.Arguments      
        set Objeto = WScript.CreateObject("WScript.Shell")
        Objeto.AppActivate Args(0)
        Objeto.SendKeys "{INSERT}"
        'Objeto.SendKeys "~"
       </script>
   </job>
</package>
Después, ese archivo en tu código, en donde procesa llamalo asi:

Código: Seleccionar todo

AppString = StarDeskTop.ActiveFrame.Title
   shell("WScript ""C:\Users\TuRuta\modo.wsf""" & " " & AppString,False)
Tal vez con eso funcione.
Para desactivar el modo repite el ultimo código al por ejemplo final de tu macro.

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!
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Activar y Desactivar Insert Mode

Mensaje por mauricio »

JorgeSanti escribió:Es viable, pero lento.
Será tan rápido o lento como tus usuarios, mira que hay de todo...
JorgeSanti escribió:Estoy tratando de que se use solo el pad numerico.
Entonces, usa un control preformateado, tendrás el formato de una fecha, con la sobreescritura de forma predeterminada de este control

Saludos.
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
JorgeSanti
Mensajes: 23
Registrado: Dom Abr 10, 2016 7:36 pm

Re: Activar y Desactivar Insert Mode

Mensaje por JorgeSanti »

Gracias por ambas excelentes respuestas!!!
Voy a probar ambas, y les cuento como me fue.
Gracias Federico por tu predisposición y Mauricio, realmente no sabía que el control preformateado tiene sobreescritura predeterminada!!
Apache OpenOffice 4.1.2.
Windows 7
JorgeSanti
Mensajes: 23
Registrado: Dom Abr 10, 2016 7:36 pm

Re: Activar y Desactivar Insert Mode

Mensaje por JorgeSanti »

Hola a todos!!
He probado las soluciones aportadas por Federico y por Mauricio.
Ambas funcionan perfectamente!!!
En realidad, no era con el campo preformateado (Formatted Field) que solo guarda el formato, pero no modifica el modo, sino que con el campo Enmascarado (PatternField) si tiene la sobreescritura en forma predeterminada.
Viendo que ambas funcionan, me parece que me inclinaré en esta ocasión por el campo enmascarado, pero me queda el aporte de Federico, para otra ocasión en que el campo enmascarado no pueda ser utilizado.
Gracias a ambos!!!!
Abrazo.
Jorge.
Apache OpenOffice 4.1.2.
Windows 7
Avatar de Usuario
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: [RESUELTO] Activar y Desactivar Insert Mode

Mensaje por fornelasa »

Tambien yo elegiría esa misma opción como tú, es digamos "más natural".
La otra opción es para casos "si no hay de otra" y que a veces en efecto "no hay de otra".
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!
JorgeSanti
Mensajes: 23
Registrado: Dom Abr 10, 2016 7:36 pm

Re: [RESUELTO] Activar y Desactivar Insert Mode

Mensaje por JorgeSanti »

Tal cual Federico.
Pero para esos casos "si no hay de otra" es bueno tener un "as en la manga" !!
Nuevamente gracias por el aporte.
Saludos.
Jorge.
Apache OpenOffice 4.1.2.
Windows 7
Responder