, encontré el code de la macros pero en excel 2003, y un code en planet source que no me funka todavia pero lo estoy viendo igual tambien hay una fuente en aspnet...Tambien podria crearlo

Código
Dim objExcel As Excel.Applicationo la guía de recursos pero no me funka
Dim objExcelWorkBook As Excel.Workbook
Set objExcel = New Excel.Application
Set objExcelWorkBook = objExcel.Workbooks.Open _
(FileName:="c:\archivo.xls", _
ReadOnly:=False, _
Password:="contraseña")
objExcel.Visible = True
Código
Option ExplicitSi alguien tiene un ejemplo o algún enlace que lo quiera compartir, estaré muy agradecido, estoy usando excel 2007 y quiero encontrar la pass con vb, no usar programas externos compilados, lo hago para ver como va el source en vb gracias.
Private Type TMacros
NombreMacro As String
CodigoFuente As String
End Type
Dim Macros() As TMacros
Sub BuscarMacros(Libro As Workbook)
Dim c As Long, n As Long
Dim i As Long, lineas As Long
Dim TempCodigo As String
With Libro.VBProject.VBComponents
' elimina el arreglo
Erase Macros
' recorre los objetos del libro ( los módulos, las hojas, los libros)
For i = 1 To .Count
With .Item(i)
With .CodeModule
c = .CountOfLines ' cantidad de lineas
If c <> 0 Then
' obtiene las lineas y las almacena en TempCodigo
For lineas = 1 To c
TempCodigo = TempCodigo & .Lines(lineas, 1) & vbCrLf
Next
n = n + 1
' redimensionamos
ReDim Preserve Macros(1 To n)
' agregamos el nombre al array
Macros(n).NombreMacro = .Name
List1.AddItem .Name ' Añade al listbox
' Agrega el código
Macros(n).CodigoFuente = TempCodigo
TempCodigo = ""
End If
End With
End With
Next
End With
End Sub
Private Sub Command1_Click()
Dim ObjExcel As Object
Set ObjExcel = New Excel.Application
' abrimos
ObjExcel.Workbooks.Open "c:\libro1.xls"
' Pasamos el libro como parámetro
Call BuscarMacros(ObjExcel.ActiveWorkbook)
' cierra el Excel
ObjExcel.quit
Set ObjExcel = Nothing
End Sub
Private Sub Form_Load()
Command1.Caption = "Obtener"
End Sub
Private Sub List1_Click()
If List1.ListIndex <> -1 Then
' carga el fuente en el text1
Text1 = Macros(List1.ListIndex + 1).CodigoFuente
End If
End Sub
'Toy lejos
Saludos.










Autor



En línea

)


