Copiar Modulos de un libro a otro

18/02/2008 - 17:19 por Bart | Informe spam
Hola Grupo:

Necesito copiar unos módulos especificos que tengo en el libro activo a un
nuevo libro, como hago esta operación de manera automática?

Otra pregunta, existe alguna manera de hacer un "auto generador de macros",
es decir necesito crear un formulario dependiendo de algunas variables
(usuario, fecha, información solicitada).

Por último, tenia una rutina que me decia cual era el nombre del usuario
logueado en la máquina, pero no encuertro donde la guarde, alquien tiene un
ejemplo de esto?.

Gracias y saludos,

Bart Max
 

Leer las respuestas

#1 Héctor Miguel
18/02/2008 - 20:12 | Informe spam
hola, !

__ 1 __
Necesito copiar unos modulos especificos que tengo en el libro activo a un nuevo libro
como hago esta operacion de manera automatica?


__ 2 __
Otra pregunta, existe alguna manera de hacer un "auto generador de macros",
es decir necesito crear un formulario dependiendo de algunas variables (usuario, fecha, informacion solicitada).


__ 3 __
Por ultimo, tenia una rutina que me decia cual era el nombre del usuario logueado en la maquina
pero no encuertro donde la guarde, alquien tiene un ejemplo de esto?.



1) Programming The VBA Editor
http://www.cpearson.com/Excel/vbe.aspx

2) Creating a UserForm Programmatically
http://j-walk.com/ss/excel/tips/tip76.htm

3) con una llamada a las API's de windows... podras 'hablarle' al usuario loggeado en windows
(y si quieres... tambien al que esta 'registrado' en la aplicacion) :))

si cualquier duda... comentas?
saludos,
hector.

copia las siguientes lineas...
en un modulo de codigo 'normal' ==' para que el modulo sea 'exclusivo' del codigo NO-disponible al usuario :) '
Option Private Module
' una variable publica para 'almacenar' al usuario loggeado '
Public UsuarioDeSesion As String
' la llamada a las API's '
Declare Function NombreDelUsuario Lib "AdvAPI32.dll" Alias "GetUserNameA" _
(ByVal Almacen As String, Largo As Long) As Long
' la funcion que 'devuelve' el nombre del usuario en la sesion _
esta funcion la podras llamar siempre [si por alguna razon 'se borra' la variable] :( '
Function InicioDeSesion() As String
Dim Nombre As String * 100, Largo As Long
Largo = 100
NombreDelUsuario Nombre, Largo
UsuarioDeSesion = Left(Nombre, Largo - 1)
End Function
en el modulo de codigo del libro [ThisWorkbook] ==Private Sub Workbook_Open()
InicioDeSesion
End Sub
en OTRO modulo de codigo 'normal' ==Sub Nombres()
MsgBox "Aplicacion registrada por: " & Application.UserName & vbCr & _
"Sesion iniciada por... Hola, " & UsuarioDeSesion
End Sub

Preguntas similares