prucommercialre.com


Lista de accesos directos de macro en todos los libros abiertos

Si usted desarrolla una gran cantidad de macros, es posible que desee enumerar todas esas macros junto con las combinaciones de teclas para iniciarlos. Por supuesto, viene con el código para enumerar las teclas de acceso directo es la parte difícil de este problema, ya que tal capacidad no está integrado en Excel directamente. (Puedes hacerlo en Word, pero no en Excel. Vaya usted a saber.)

La forma más sencilla de hacerlo sería crear una macro que exporta cada una de las macros en un archivo de texto .bas, a continuación, leer ese archivo de texto para determinar la combinación de teclas. ¿Por qué esto es más fácil es porque las teclas de acceso directo no están disponibles directamente a VBA, pero están escritos como parte del archivo de texto cada vez que exportar macros.

Por ejemplo, al exportar un macro en un archivo .bas, incluirá una línea similar a la siguiente:

Atributo VB_Name = "Module1"
Atributo MyMacro.VB_Description = "Mi Descripción"
Atributo MyMacro.VB_ProcData.VB_Invoke_Func = "q \ n14"

Su macro puede leer el archivo .bas (que no es más que un archivo de texto) y analizar lo que está escrito allí para extraer el nombre y teclas de acceso directo de la macro. En el ejemplo anterior, "Module1" es el módulo el código está en "MyMacro" es el nombre del procedimiento, "Mi Descripción" es la descripción del procedimiento y "q" es la tecla de acceso directo. (El "\ n14" parece estar ahí para todas las macros; lo que significa no está claro.)

Su código, para ser eficaz, tendría que recorrer todos los módulos en un libro, hacer la exportación y analizar pasos para obtener la información deseada.

Complejo de sonido? Puede ser. Es una buena cosa que ya existe un macro disponible que hace todo esto. Ivan Moala ha escrito un Excel libre de complemento que hace exactamente lo que se ha descrito anteriormente. El complemento está disponible aquí:

http://www.xcelfiles.com/GetShortCutKeys.html

El código es protegida por contraseña y Moala ha indicado en otra parte en Internet que la contraseña para acceder al código es "prueba". Al desbloquear el código, se puede ver exactamente cómo obtuvo sus resultados y luego crear su propia macro, o simplemente puede modificar su para asegurarse de que todo lo que se imprime se ajuste a sus necesidades. Por ejemplo, si desea que la macro para imprimir el nombre del libro, nombre del módulo, nombre de la macro y la tecla de acceso directo, entonces se podría modificar el código para hacer exactamente eso.

Hay una gottcha que podría morderle cuando utilice macros de este tipo, también. Usted necesita asegurarse de que usted tiene su macro de seguridad establecida en el nivel adecuado para permitir que el tipo de acceso requerido para la macro para hacer su trabajo. Esto se hace mediante la elección, dentro de Excel, Herramientas | Opciones | Seguridad | Seguridad de macros. A continuación, puede establecer el nivel de seguridad en la configuración necesaria: Fideicomiso de Acceso Proyectos VB.

El código descrito hasta ahora le permite obtener la información deseada para un libro específico. El siguiente paso, por supuesto, es asegurarse de que se aplica el código para cada libro abierto. Esto es relativamente fácil. Si su código para procesar las macros en un solo libro lleva el nombre algo así como ListKeys, entonces usted puede crear una macro diferente que tiene este aspecto:

ListAllKeys Sub ()
Wkb dévil como libro de trabajo

Para Cada wkb En Cuadernos de Trabajo ()
ListKeys llamadas (WKB)
Siguiente
End Sub

Los pasos de macro a través de todos los libros abiertos, pasando el nombre de cada uno a la macro ListKeys. Este nombre puede ser utilizada por su procedimiento ListKeys para determinar dónde se agarra su información de.

ExcelTips es su fuente de capacitación rentable Microsoft Excel. Esta punta (3162) se aplica a Microsoft Excel 97, 2000, 2002, y 2003.