Insertar codigo dinamicamente

23/07/2004 - 10:59 por Jorge | Informe spam
Hola,
tengo un problema al intentar insertar codigo
dinamicamente. Tengo una macro creada y desde esa macro
tiene que generar otro archivo con sus correspondientes
macros en modulos. hasta aqui funciona. el problema viene
cuando intento insetar el codigo de los botones dentro de
una tabla. los botones los he conseguido copiar, pero
cuando intento con su codigo, a veces funciona, a veces da
error grae y se cierra el excel. El codigo para insertar
el codigo boton es el siguiente:

With ActiveWorkbook.VBProject.VBComponents
("Tabelle1").CodeModule
.InsertLines 1, _
"Private Sub CommandButton1_Click()" & Chr(13) & _
" Call Filter_hinzufügen" & Chr(13) & _
"End Sub"
End With

Al salir del End With es donde da el error y cierra el
excel. si ha alguien se le ocurre algo, por favor que
conteste.

Muchas gracias.

Saludos

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
23/07/2004 - 20:57 | Informe spam
hola, Jorge !

... problema al intentar insertar codigo dinamicamente.
... desde ... macro ... generar otro archivo con ... macros en modulos.
... cuando intento insetar el codigo de los botones dentro de una tabla.
los botones los he conseguido copiar ... con su codigo ... a veces da error grave y se cierra el excel.
El codigo para insertar el codigo boton es el siguiente:


With ActiveWorkbook.VBProject.VBComponents("Tabelle1").CodeModule
.InsertLines 1, _
"Private Sub CommandButton1_Click()" & Chr(13) & _
" Call Filter_hinzufügen" & Chr(13) & _
"End Sub"
End With
Al salir del End With es donde da el error y cierra el excel. si ha alguien se le ocurre algo [...]



modificar 'codigo×codigo' [agregar/eliminar lineas/procedimientos/modulos] requiere...
'usar' los nombres_en_codigo [propiedad '.CodeName'] de los objetos que se modificaran
en el ejemplo que expones, existen 2 objetos a cuyos 'codenames' haces referencia
[se supone que son 'correctos']...
1.- inicias referenciando el modulo de codigo de un componente, cuyo 'codename' [le dices que] es "Tabelle1"
supongo que es el codename [NO el de la pestaña] de la hoja donde se incrustan los botones
2.- agregas un procedimiento de evento al objeto cuyo 'codename' le dices que es 'CommandButton1'
se asume que es un boton de comando creado con la barra de herramientas 'cuadro de controles'
3.- los nombres_de_codigo [codename] =>los asigna la aplicacion<= [y algunos en el lenguaje instalado] OJO
=>a menos que les sean modificados [p.e. en la ventana de propiedades del editor de vba]<4.- si no estas 'seguro' del idioma [instalado de la aplicacion] donde 'esta corriendo' el codigo...
o del nombe_de_codigo de la hoja donde estan los botones, lo puedes 'captar' [p.e. como sigue]...
With ActiveWorkbook.VBProject.VBComponents(ActiveSheet.CodeName).CodeModule
[solo 'asegurate' que la 'activesheet' del 'activeworkbook' sea/n =>pecisamente<= los 'afectables'] ;)
5.- probablemente 'existan' [ademas] otras causas, como el 'tipo' de botones que 'conseguiste' copiar, etc.

si lo anterior NO te sirviera [al menos, como 'base'] para encontrar las [posibles] causas...
¿comentas datos adicionales?
saludos,
hector.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida