Tambien podria crearlo
Código
o la guía de recursos pero no me funka
Dim objExcel As Excel.Application 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
Si 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.
Option Explicit 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.