PDA

View Full Version : Unprotect sheet



forkus2000
09-08-2008, 06:59 PM
Hy guys i need to unptotecta a excel file i have this code, but not work.

Please help me

Option explicit
Public excel_app As excel.Application
Public excel_sheet As excel.Worksheet
Public excel_wkb As excel.Workbook

Private Sub Form_Load()
AbreExcel
Unprotect
cierraexcel
End Sub

Public Sub AbreExcel()
Set excel_app = CreateObject("Excel.Application")
End Sub

Public Sub CierraExcel()
excel_app.Quit
Set excel_sheet = Nothing
Set excel_app = Nothing
End Sub

Private sub Unprotect

Dim hojas
Dim x


CargaLibro ("C:\1.xls)
hojas = excel_wkb.Worksheets.Count
For x = 1 To hojas
SeteaHoja (x)

excel_app.EnableEvents = False
excel_app.DisplayAlerts = False
excel_wkb.ActiveSheet.Unprotect Password:="sercotecvb"

Next x
SeteaHoja (1)
excel_sheet.Cells(5, 1) = "My Data"
excel_wkb.SaveAs "c:\2.xls", 56, , , , , Exclusive, , , , , False
CierraLibro

end sub


Public Sub CargaLibro(file)

DoEvents


Set excel_wkb = excel_app.Workbooks.Open(FileName:=file)
txtarchivo = file
DoEvents


End Sub

Public Sub CierraLibro()
excel_wkb.Close False
End Sub

Bob Phillips
09-09-2008, 12:32 AM
I have tidied up a few errors in the code, but I could not test it, it references a SeteHoja procedure that you didn't include, and the CargaLibro procedure references an undeclared variable, even thgough you have Option Explicit.



Option Explicit

Public excel_app As Excel.Application
Public excel_sheet As Excel.Worksheet
Public excel_wkb As Excel.Workbook

Private Sub Form_Load()
AbreExcel
Unprotect
CierraExcel
End Sub

Public Sub AbreExcel()
Set excel_app = CreateObject("Excel.Application")
End Sub

Public Sub CierraExcel()
excel_app.Quit
Set excel_sheet = Nothing
Set excel_app = Nothing
End Sub

Private Sub Unprotect()
Dim hojas
Dim x

CargaLibro "C:\1.xls"
hojas = excel_wkb.Worksheets.Count
For x = 1 To hojas
SeteaHoja x
excel_app.EnableEvents = False
excel_app.DisplayAlerts = False
excel_wkb.ActiveSheet.Unprotect Password:="sercotecvb"
Next x
SeteaHoja 1
excel_sheet.Cells(5, 1) = "My Data"
excel_wkb.SaveAs "c:\2.xls", 56, , , , , xlExclusive, , , , , False
CierraLibro
End Sub


Public Sub CargaLibro(file)

DoEvents

Set excel_wkb = excel_app.Workbooks.Open(Filename:=file)
txtarchivo = file
DoEvents
End Sub

Public Sub CierraLibro()
excel_wkb.Close False
End Sub

forkus2000
09-09-2008, 07:01 AM
Thanks xld, but if you try the code you receive an errror , i upload a file called 1.xls with the protected sheets.

Please test for check, because for me don`t work.

Regards Paolo

forkus2000
09-09-2008, 07:06 AM
Option Explicit

Public excel_app As Excel.Application
Public excel_sheet As Excel.Worksheet
Public excel_wkb As Excel.Workbook

Private Sub Form_Load()
AbreExcel
Unprotect
CierraExcel
End Sub

Public Sub AbreExcel()
Set excel_app = CreateObject("Excel.Application")
End Sub
Public Sub SeteaHoja(cual)
Set excel_sheet = excel_app.ActiveWorkbook.Sheets(cual)
End Sub

Public Sub CierraExcel()
excel_app.Quit
Set excel_sheet = Nothing
Set excel_app = Nothing
End Sub

Private Sub Unprotect()
Dim hojas
Dim x

CargaLibro "C:\1.xls"
hojas = excel_wkb.Worksheets.Count
For x = 1 To hojas
SeteaHoja x
excel_app.EnableEvents = False
excel_app.DisplayAlerts = False
excel_wkb.ActiveSheet.Unprotect Password:="sercotecvb"
Next x
SeteaHoja 1
excel_sheet.Cells(5, 1) = "My Data"
excel_wkb.SaveAs "c:\2.xls", 56, , , , , xlExclusive, , , , , False
CierraLibro
End Sub


Public Sub CargaLibro(file)

DoEvents

Set excel_wkb = excel_app.Workbooks.Open(FileName:=file)

DoEvents
End Sub

Public Sub CierraLibro()
excel_wkb.Close False
End Sub

forkus2000
09-11-2008, 08:26 AM
Come on Guys, nobody knows about this issue ?
Plese try to solve.....


Paolo