programming programación lenguaje for ejemplos descargar code excel vba excel-vba vbscript

programación - vba excel descargar



VBScript para agregar código al libro de trabajo de Excel (1)

Primero, no debe usar xlmodule como nombre de variable. Ya está definido como una constante de Excel. Lo llamaría algo así como component lugar. La colección VBComponents tiene un indexador que acepta el índice ordinal del componente o el nombre del componente. En su caso, sería más fácil usar el nombre:

Set component = ThisWorkbook.VBProject.VBComponents("DieseArbeitsmappe") code = _ "Sub WorkBook_Open()" & vbCr & _ " Application.Run ""''CommonMacro.xlsm''!Workbook_Open""" & vbCr & _ "End Sub" component.CodeModule.AddFromString code

Tenga en cuenta que generalmente no es una buena práctica llamar directamente a un controlador de eventos. Si necesita reutilizar la funcionalidad, debe sacarla del controlador y luego hacer que Workbook_Open llame al Sub extraído.

Tengo la tarea de agregar un método WorkBook_Open() a numerosos libros de trabajo de Excel. Me las arreglé para escribir un script que agrega un módulo (marcado en rojo) con las líneas de código necesarias, pero lo necesito en el DieseArbeitsmappe (marcado en verde) para DieseArbeitsmappe automáticamente cuando se abre el libro.

Set xlmodule = objworkbook.VBProject.VBComponents.Add(1) strCode = _ "Sub WorkBook_Open()" & vbCr & _ " Application.Run (""''CommonMacro.xlsm''!Workbook_Open"")" & vbCr & _ "End Sub" xlmodule.CodeModule.AddFromString strCode

Este es el código que tengo ahora. Estoy bastante seguro de que el error está en la línea 1 al configurar el xlmodule pero no puedo entender cómo hacer referencia a DieseArbeitsmappe . Gracias de antemano por tu ayuda.