Visual Basic para Aplicaciones - Introducir codigo desde codigo

Life is soft - evento anual de software empresarial
 
Vista:

Introducir codigo desde codigo

Publicado por Pablo (3 intervenciones) el 01/08/2017 01:21:17
Hola a todos!

Me gustaria saber si VBA permite introducir codigo en el libro activo desde una macro del libro de macros personal.

La idea es que, ejecutando una determinada macro que esta en el libro personal.xlsb, se cree un procedimiento en el libro activo.

Espero que se entienda lo que quiero hacer.

Muchas gracias a todos
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

Introducir codigo desde codigo

Publicado por Pablo (3 intervenciones) el 02/08/2017 00:55:26
Gracias por tu respuesta JuanC.

He estado investigando sobre el editor, pero no encuentro informacion acerca de este tema. Y en el enlace que has posteado, no se aleman y no entiendo nada de lo que pone :(
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

Introducir codigo desde codigo

Publicado por JuanC (565 intervenciones) el 02/08/2017 01:28:56
hola Pablo, yo tampoco entiendo nada de alemán!

te paso un ejemplo que encontré entre mis (millones! de) cosas...
(agrega una hoja con un botón y su respectivo código)


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Option Explicit
 
Sub s()
Dim HojaNueva As Worksheet
Dim Boton As OLEObject
Dim sCode$
 
Set HojaNueva = Worksheets.Add
If HojaNueva Is Nothing Then Exit Sub
 
Randomize
HojaNueva.Name = "Nueva Hoja" & Int((9 * Rnd) + 1) & Int((9 * Rnd) + 1) & Int((9 * Rnd) + 1)
Set Boton = HojaNueva.OLEObjects.Add("Forms.CommandButton.1")
 
If Boton Is Nothing Then GoTo fin
 
With HojaNueva.OLEObjects("CommandButton1")
     .Object.Caption = "Click here!"
     .Left = 10
     .Top = 10
End With
 
sCode = "Private Sub CommandButton1_Click()" & vbCrLf
sCode = sCode & "MsgBox ""Hello world!""" & vbCrLf
sCode = sCode & "End Sub"
 
With ActiveWorkbook.VBProject.VBComponents(HojaNueva.CodeName).CodeModule
 .AddFromString sCode
End With
 
fin:
Set HojaNueva = Nothing
Set Boton = Nothing
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Introducir codigo desde codigo

Publicado por Pablo (3 intervenciones) el 02/08/2017 12:14:02
Mil gracias JuanC!!

Eso es pecisamente lo que estaba buscando.

Buen dia!!
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