Visual Basic - Error de automatización, muestro código

Life is soft - evento anual de software empresarial
 
Vista:

Error de automatización, muestro código

Publicado por mapg (3 intervenciones) el 26/05/2006 07:14:08
Hola a tod@s:

El siguiente código sirve para colocar un boton en una hoja de Excel recien creada, todo ello en tiempo de ejecución utilizando VBA. El problema se produce cuando trato de asignarle código al boton, concretamente un error de automatización que provoca incluso el cierre de Excel. Tengo localizado la fuente del error que es la clase VBComponents pero no sé como evitarlo:

' Se crea la hoja de trabajo nueva
'
'
Dim HojaNueva As Worksheet
Set HojaNueva = Worksheets.Add
HojaNueva.Name = "Nueva Hoja"

'Se crea el boton
'
'
Dim Boton As OLEObject
Set Boton = HojaNueva.OLEObjects.Add("Forms.CommandButton.1")
'
'
' Se asigna código al boton,
'
'
codigo = "Private Sub CommandButton1_Click()" & vbCrLf
codigo = codigo & "Call Procedimiento" & vbCrLf
codigo = codigo & "End Sub"
'
'
' El problema está aquí
'
With ActiveWorkbook.VBProject.VBComponents(HojaNueva.CodeName).CodeModule
linea = .CountOfLines + 1
.InsertLines linea, codigo
End With

He probado con ...VBComponents("Nueva Hoja") pero me dice " indice fuera de intervalo".
Tambien he probado con VBComponents("HojaNueva.Name"), que viene a ser lo mismo que antes pero no dá resultado. La única manera es a través del nombre de código de la hoja recien creada, pero como os digo, da un error grave de automatización y se cierra todo.

Si hay alguien que pueda ayudarme con ésto le estaré enórmemente agradecido.

En cualquier caso, les doy las gracias a todos por adelantado.

Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Error de automatización, muestro código

Publicado por Matías Freire (421 intervenciones) el 26/05/2006 15:55:29
Deberías posteralo en Visual Basic para Aplicaciones!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar