Macro para abrir el menu de "guardar como" en un libro bloqueado

Hola a todos, tengo un libro bloqueado y con la Ribbon oculta, ya se configuraron las paginas de cada hoja del libro que se requieren guardar. Necesito seleccionar algunas de estas hojas y luego abrir la opción de guardar como.... La idea es que el usuario pueda seleccionar el nombre del archivo y el tipo para que lo guarde como PDF.

Quedo atento a sus respuestas.

2 Respuestas

Respuesta
1

Combine varias publicaciones en el web..

Sub Guardar_como()
pplication.ScreenUpdating = False
    Sheets("Inicio").Select
    ActiveSheet.Unprotect Password:="2012"
    Sheets("Manual").Select
    ActiveSheet.Unprotect Password:="2012"
    Sheets("Tabulador").Select
    ActiveSheet.Unprotect Password:="2012"
    Sheets("Resumen").Select
    ActiveSheet.Unprotect Password:="2012"

    Sheets(Array("Inicio", "Manual", "Resumen")).Select

NewSaveAs
    Sheets("Inicio").Select
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:="2012"
    Sheets("Manual").Select
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:="2012"
    Sheets("Tabulador").Select
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, AllowFiltering:=True, Password:="2012"
    Sheets("Resumen").Select
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:="2012"
    Sheets("Inicio").Select
    Sheets("Inicio").Activate
    Range("I4").Select
Application.ScreenUpdating = True
End Sub

Sub NewSaveAs()
    Dim FName As Variant
    FName = Application.GetSaveAsFilename( _
        filefilter:="PDF Files (*.pdf*),*.pdf*")
    If FName = False Then
        Exit Sub
    Else
        Application.DisplayAlerts = False
        ActiveWorkbook.SaveAs FName
        Application.DisplayAlerts = True
    End If
End Sub

Respuesta
1

¡Felicitaciones! Qué bueno que lo compartas ;)

¿Me permites hacer un aporte para optimizarla? Aquí tenés 4 hojas... imagina si tuvieras algunas más.

Te dejo un bucle para desproteger (y luego podes adaptarlo también para la protección) que trabajará para toda la matriz de nombres.

cadena = Array("Inicio", "Manual", "Tabulador", "Resumen")
For i = 0 To 3     'la matriz empieza en el elemento 0
Sheets(cadena(i)).Select
ActiveSheet.Unprotect "2012"      'aquí la instrucción que sea = para todas las hojas
Next i

Sdos

Elsa

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas