Macro búsquedas en Google


A pedido de un lector, subo un macro que realiza búsquedas en Google con Chrome (aunque es posible editar ambos).

El código del macro es el siguiente:

<?xml version="1.0" encoding="UTF-16"?>
<speechMacros>
   <command>
      <listenFor>[Chris] [Search] […] en Google</listenFor> //comando para pedir una busqueda
      <waitFor seconds="0.2"/>
      <run command="chrome.exe" params="https://www.google.cl"/> //inicia chrome con la pagina de google
      <setState name="p_bGoogle" value="{[…]}"/> //se guarda la busqueda
      <setState name="bGoogle" value="activa" />
      <setTextFeedback>¿Desea buscar {[p_bGoogle]}?</setTextFeedback>
      <script language="VBScript">
         <![CDATA[
            Application.Speak("¿Desea buscar {[p_bGoogle]}?") //El asistente pregunta si la busqueda guardada es la correcta para buscar
         ]]>
      </script>
   </command>
   <command>
      <stateIsSet name="bGoogle" value="activa" />
      <listenFor>[Correct]</listenFor> //Si decimos que si (u otro) …
      <setTextFeedback>Un momento señor</setTextFeedback>
      <script language="VBScript">
         <![CDATA[
            Application.Speak("Un momento señor")
         ]]>
      </script>
      <sendKeys>{{CTRL}}{LWin}</sendKeys>
      <waitFor seconds="1" />
      <sendKeys>{F6}</sendKeys> //el cursor va a la barra de direcciones del navegador
      <waitFor seconds="1"/>
      <insertText>https://www.google.cl/search?q={[p_bGoogle]}&amp;rlz=1C1PRFE_enCL619CL619&amp;oq={[p_bGoogle]}&amp;aqs=chrome..69i57j0l5.1001j0j4&amp;sourceid=chrome&amp;es_sm=122&amp;ie=UTF-8</insertText> //Se inserta en la barra de navegacion el link de busqueda
      <waitFor seconds="1"/>
      <sendKeys>{ENTER}</sendKeys> //Se presiona enter para ir a la busqueda
      <sendKeys>{{CTRL}}{LWin}</sendKeys>
      <setState name="p_bGoogle" />
      <setState name="bGoogle" />
   </command>
   <command>
      <stateIsSet name="bGoogle" value="activa" />
      <listenFor>No […]</listenFor> //Si la respuesta es no …
      <setState name="p_bGoogle" value="{[…]}"/>
      <setState name="bGoogle" value="activa" />
      <setTextFeedback>¿Desea buscar {[p_bGoogle]}?</setTextFeedback>
      <script language=”VBScript”>
         <![CDATA[
            Application.Speak("¿Desea buscar {[p_bGoogle]}?")
         ]]>
      </script>
   </command>
   <command>
      <stateIsSet name="bGoogle" value="activa" />
      <listenFor>[Cancel] orden</listenFor>
      <listenFor>No</listenFor>
      <setState name="p_bGoogle" />
      <setState name="bGoogle" />
      <setTextFeedback>Orden cancelada</setTextFeedback>
      <script language="VBScript">
         <![CDATA[
            Application.Speak("Orden cancelada")
         ]]>
      </script>
   </command>
   <rule name="Search">
      <list>
         <p>busca</p>
         <p>busco</p>
         <p>buscar</p>
         <p>buscame</p>
         <p>encuentra</p>
         <p>busqueda</p>
      </list>
   </rule>
   <rule name="Cancel">
      <list>
         <p>cancela la</p>
         <p>cancelar</p>
         <p>deten la</p>
         <p>detener</p>
         <p>para la</p>
         <p>parar</p>
      </list>
   </rule>
   <rule name="Correct">
      <list>
         <p>si</p>
         <p>sí</p>
         <p>correcto</p>
         <p>es correcto</p>
         <p>así es</p>
         <p>afirmativo</p>
      </list>
   </rule>
   <rule name="Chris">
      <list>
         <p>Christine</p>
      </list>
   </rule>

Es posible que fallen las comillas (“) u otros símbolos cuando realicen el copy/paste, así que ojo con eso.

Quitar todos los comentarios antes de guardar (texto después de la doble barra //).

Si necesitan el macro para descargar, escríbanme en los comentarios.

Saludos.