** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Como exporto el libro poniéndole contraseña
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoComo exporto el libro poniéndole contraseña

 Responder Responder
Autor
Mensaje Invertir el orden de clasificación
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: En la dehesa
Estado: Sin conexión
Puntos: 13990
Enlace directo a este mensaje Tema: Como exporto el libro poniéndole contraseña
    Enviado: 21/Mayo/2023 a las 22:19
Le traspasaremos las gracias a Pepito Grillo, que es el que realmente aportó la respuesta LOL.
Jesús Mansilla Castells.
Saludos desde Móstoles.

Access Aplicaciones
Tecsys.es
Arriba
carlosd Ver desplegable
Nuevo
Nuevo


Unido: 18/Febrero/2023
Localización: cuba
Estado: Sin conexión
Puntos: 41
Enlace directo a este mensaje Enviado: 21/Mayo/2023 a las 21:02
Amigo gracias por todo, incluí la contraseña de apertura del libro y todo me funcionó ok, lo hice así

xls.ActiveWorkBook.SaveAs FileName:=strArchivo, Password:="contraseña", FileFormat:=xlNormal

UN MILLÓN DE GRACIAS POR SU COLABORACIÓN QUE ME VALIÓ UN POCO MÁS DE APRENDISAJE
Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: En la dehesa
Estado: Sin conexión
Puntos: 13990
Enlace directo a este mensaje Enviado: 21/Mayo/2023 a las 09:47
Pues por ponerlo lo puedes hacer hacer en el mismo sitio que tienes ese código.

Por cierto, me hace notar nuestro Pepito Grillo particular que lo que yo te indico lo que hace es proteger la hoja, no permitiendo su modificación por parte del usuario (lo que yo entendí en la primera lectura de tú pregunta) y lo que tú quieres es que no pueda abrir el libro si no conoce la contraseña, en ese caso el SaveAs que utilizas tiene el parámetro Password para ponerle la contraseña.
Jesús Mansilla Castells.
Saludos desde Móstoles.

Access Aplicaciones
Tecsys.es
Arriba
carlosd Ver desplegable
Nuevo
Nuevo


Unido: 18/Febrero/2023
Localización: cuba
Estado: Sin conexión
Puntos: 41
Enlace directo a este mensaje Enviado: 20/Mayo/2023 a las 14:55
Amigo Mihura, gracias, el problema es que soy aprendiz y he probado ese método pero no se donde ubicar el código para que me funcione, si usted me pudiera ayudar se lo agradecería
Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: En la dehesa
Estado: Sin conexión
Puntos: 13990
Enlace directo a este mensaje Enviado: 19/Mayo/2023 a las 17:29
Mírate el método Protect:

Workbook.Protect (método)
Jesús Mansilla Castells.
Saludos desde Móstoles.

Access Aplicaciones
Tecsys.es
Arriba
carlosd Ver desplegable
Nuevo
Nuevo


Unido: 18/Febrero/2023
Localización: cuba
Estado: Sin conexión
Puntos: 41
Enlace directo a este mensaje Enviado: 19/Mayo/2023 a las 14:51

Tengo este código en Access que construye una tabla y la exporta al una carpeta en la PC, quisiera que al libro se le pudiera poner contraseña desde que se exporta para cuando sea abierto la solicite. No se como hacerlo

Private Sub cmdExportar_Click()
Dim rstNombrePrograma As DAO.Recordset, _
rstTituloTema As DAO.Recordset, _
qdf As DAO.QueryDef, _
strSQL As String, _
strHoja As String, _
strArchivo As String, _
strTitulo As String, _
Campo As DAO.Field, _
lngColumna As Long, _
i As Long, _
xls As Object
Const xlWBATWorksheet = -4167
Const xlAutomatic = -4105
Const xlSolid = 1
Const xlThemeColorDark1 = 1
Const xlToRight = -4161
Const xlNormal = -4143

On Error GoTo cmdExportar_Click_TratamientoErrores

strSQL = "SELECT NombrePrograma"
strSQL = strSQL & " FROM ProgramasEmitidos"
strSQL = strSQL & " GROUP BY NombrePrograma"

Set xls = CreateObject("Excel.Application")
xls.Visible = True

xls.Workbooks.Add xlWBATWorksheet
strHoja = xls.ActiveSheet.Name

Set rstNombrePrograma = CurrentDb.OpenRecordset(strSQL, dbOpenDynaset)

If Not (rstNombrePrograma.EOF And rstNombrePrograma.BOF) Then
Do
StrSQL = "SELECT TituloTema, NombreAutor, NombreInterprete, Sonatas, Fecha, Calculo, Local, Plantilla "
strSQL = strSQL & "FROM ProgramasEmitidos"
strSQL = strSQL & " WHERE NombrePrograma = Parametro1"
Set qdf = CurrentDb.CreateQueryDef("", strSQL)

qdf.Parameters("Parametro1") = rstNombrePrograma!NombrePrograma
Set rstTituloTema = qdf.OpenRecordset
xls.ActiveWorkBook.Sheets.Add Before:=xls.Worksheets(xls.Worksheets.Count)
xls.ActiveSheet.Name = rstNombrePrograma!NombrePrograma
With xls
lngColumna = 1
For Each Campo In rstTituloTema.Fields
strTitulo = ""
For i = 1 To Len(Campo.Name)
strTitulo = strTitulo & Mid(Campo.Name, i, 1)
If i < Len(Campo.Name) Then
If EsMayuscula(Mid(Campo.Name, i + 1, 1)) Then strTitulo = strTitulo & " "
End If
Next i
.ActiveSheet.Cells(1, lngColumna) = strTitulo
lngColumna = lngColumna + 1
Next Campo
.Range("A1").Select
.Range(.Selection, .Selection.End(xlToRight)).Select
.Selection.Font.Bold = True
With .Selection.Interior
.Pattern = xlSolid
.ColorIndex = 15
End With
End With

If Not (rstTituloTema.EOF And rstTituloTema.BOF) Then
xls.ActiveSheet.Cells(2, 1).CopyFromRecordset rstTituloTema
End If
xls.Columns("A:G").EntireColumn.AutoFit
rstNombrePrograma.MoveNext
Loop Until rstNombrePrograma.EOF
End If

xls.Application.DisplayAlerts = False
xls.ActiveWorkBook.Worksheets(strHoja).Delete

strArchivo = "D:\SG RADIO\EXPORTACIONES\" & DLookup("Emisora", "01TNomencladorEmisora") & " Derecho Autor Obras Completas.xls"
If Not Nz(strArchivo, "") = "" Then
xls.ActiveWorkBook.SaveAs FileName:=strArchivo, FileFormat:=xlNormal
Else
xls.ActiveWorkBook.Saved = True
End If
xls.Application.DisplayAlerts = True

cmdExportar_Click_Salir:
On Error Resume Next
xls.Quit
Set xls = Nothing
Set qdf = Nothing
CierraRecordsetDAO rstNombrePrograma
CierraRecordsetDAO rstTituloTema
On Error GoTo 0
Exit Sub
cmdExportar_Click_TratamientoErrores:
MsgBox "Error " & Err & " en proc.: cmdExportar_Click de Documento VBA: Form_frmFrmIniCaptacion (" & Err.Description & ")", vbCritical + vbOKOnly, "ATENCION"
Resume cmdExportar_Click_Salir
Resume Next
End Sub

Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable