* Pero ahora, en OpenOffice está acusando un error en la siguiente línea:
ThisComponent.Sheet.Protect DrawingObjects: = True, Contenido: = True, escenarios: = True, Contraseña: = lPass, AllowFiltering: = true
El siguiente código sigue:
Código: Seleccionar todo
REM ***** BASIC *****
'Função que protege todas as planilhas de um arquivo
Option VBASupport 1
Sub lsProtegerTodasAsPlanilhas()
'Declara as variáveis necessárias
Dim lPass As String
Dim lQtdePlan As Integer
Dim lPlanAtual As Integer
'Sheets(1).Activate
If Sheets(1).ProtectContents = True Then Exit Sub
'Solicita a senha
'O método InputBox é utilizado para solicitar um valor através de um formulário
lPass = InputBox("Proteger todas as planilhas:", "Senha", ActName)
'Inicia as variáveis
'O método Worksheets.Count passa a quantidade de planilhas existentes no arquivo
lQtdePlan = Worksheets.Count
lPlanAtual = 1
'Loop pelas planilhas
'A função While realiza um loop de código enquanto não passar por todas as planilhas contadas
While lPlanAtual <= lQtdePlan
'O método Worksheets(lPlanAtual).Activate ativa a planilha conforme o índice atual 1, 2, 3...
Worksheets(lPlanAtual).Activate
Cells.Select
Selection.Locked = True 'Bloqueia
Selection.FormulaHidden = True 'Oculta
Range("A1").Select
'O método .Protect proteje a planilha passando os parâmetros para proteger
'objetos de desenho, conteúdo, cenários e passando o password digitado
ThisComponent.Sheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:=lPass, AllowFiltering:=True
ActiveWindow.Zoom = 120
ActiveWindow.DisplayHeadings = False
'Muda o índice para passar para a próxima planilha
lPlanAtual = lPlanAtual + 1
Wend
Sheets("Plan1").Select
'O método MsgBox exibe um formulário de aviso ao usuário.
MsgBox "Planilhas protegidas!"
End Sub
muchas gracias.