[RESUELTO] Error en Macro al proteger todas las hojas

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...
Responder
physic
Mensajes: 85
Registrado: Lun Oct 29, 2018 12:55 am

[RESUELTO] Error en Macro al proteger todas las hojas

Mensaje por physic »

Personal, he creado la siguiente macro en Excel para proteger todas las hojas (hojas) del archivo Excel. funcionó muy bien.

        * 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
 * Puede ayudarme por favor corregir el error en esta línea!
muchas gracias.
Última edición por physic el Mié Ene 09, 2019 9:28 pm, editado 4 veces en total.
LibreOffice 5.4.4.2 >>> Windows 7
Avatar de Usuario
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Error en Macro al proteger todas las hojas

Mensaje por fornelasa »

Open Office no soporta esta instrucción:

Código: Seleccionar todo

AllowFiltering:=True
Por lo tanto

Código: Seleccionar todo

ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:=lPass
debería funcionar.
Saludos, Federico.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Itzealva
Mensajes: 2
Registrado: Mar Ene 08, 2019 12:11 am

Re: [Resuelto] Error en Macro al proteger todas las hojas

Mensaje por Itzealva »

Hola estoy diseñando una macro pero estoy teniendo problemas con las hojas,

necesito que se ejecute desde una hoja visible y desprotegida y luego abra una hoja oculta y protegida con datos que no pueden ser modificados la desbloquee la ejecute y la vuelva a proteger y ocultar

me podrían ayudar?
Itzealva
Mensajes: 2
Registrado: Mar Ene 08, 2019 12:11 am

Re: Error en Macro al proteger todas las hojas

Mensaje por Itzealva »

Hola, ya lo resolvi gracias!!

Pero ahora no se como bloquear un boton que hice con un userform para que funcione en una hoja protegida
RMG
Mensajes: 3878
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: Error en Macro al proteger todas las hojas

Mensaje por RMG »

Hola Itzealva, te sugiero que abras un nuevo hilo con tu problema y con un título explicativo sobre el mismo, seguro que obtienes mejor ayuda.

Saludos
OpenOffice 4.1.15 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
Responder