• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Kopie maken naar gesloten met paswoord beveiligd werkboek

Status
Niet open voor verdere reacties.

samabert

Gebruiker
Lid geworden
27 mrt 2010
Berichten
301
Hallo,

Met volgende code wordt er een kopie gemaakt naar een ander gesloten back-up bestand, zonder beveiliging. Tot zover alles in orde.

Nu zou ik graag het back-up bestand (de werkmap) waarnaar wordt weggeschreven willen beveiligen met een paswoord.
Ik heb zitten proberen met gevonden voorbeelden, maar telkens ik de code uitvoer stopt hij op een input box voor het gevraagde paswoord. Na het invullen ervan loopt alles mooi af.

Mijn vraag, kan deze code aangepast worden zodat dit wel werkt zonder dat je de input box krijgt?
Code staat in een module en wordt aangeroepen bij het sluiten van het eerste werkboek.

Code:
Option Explicit

Sub Kopie()
    Dim wbDst As Workbook
    Dim Br
    On Error Resume Next
    Application.ScreenUpdating = False

    Set wbDst = Workbooks.Open("\\SERVER-BAMG7PMH\Exel\Hrs\Backup1.xlsm")

    For Each Br In Application.GetCustomListContents(3)
        With wbDst.Sheets(Br)

                '.Unprotect "1234"
            
            ThisWorkbook.Sheets(Br).Range("A1:AL29").Copy .Range("A" & Rows.Count).End(xlUp).Offset(3)

                '.Protect "1234"


        End With
    Next
    Application.ScreenUpdating = True

    wbDst.Close True

End Sub

Alvast bedankt.
Mvg.
Marc
 
Waarom staan die apostrofjes nog voor .Unprotect en .Protect? die regels gebruikt ie dan niet.
 
Dat klopt, maar ik heb een aantal voorbeelden uitgeprobeerd zoals deze .unprotect, maar die werken niet. Ik krijg telkens een input box om het paswoord voor het werkboek te ontgrendelen, eens het paswoord gegeven loopt de code zonder problemen verder.

Doe je dit met het beveiligen van de werkbladen in het werkboek dan werkt .unprotect wel. Maar ik zou graag het volledige bestand willen beveiligen tegen openen.
Als ik de code hier plaatse bij de vraag ben ik vergeten van die apostrofjes weg te doen.

Mvg.
Marc
 
En .Unprotect Password:="1234" werkt ook niet?
 
Wellicht?

Set wbDst = Workbooks.Open("\\SERVER-BAMG7PMH\Exel\Hrs\Backup1.xlsm",,,"jouw workbook password")
 
Neen, spijtig genoeg werkt dit ook niet.

Via de zoek functie kom ik volgende tegen als oplossing, maar hoe integreer je dat ik de bestaande code, tenminste als dit kan?

Code:
Workbooks.Open Filename:="C:\Hello.xlsm", Password:="1234"
 
@Ginger,

Ga jouw oplossing uitproberen.
Was wat traag met antwoorden op de post van SjonR
 
@ Ginger,

Spijtig, dit werkt ook niet, er wordt wel geen paswoord meer gevraagd maar het volgende stukje code wordt ook niet meer uitgevoerd:

Code:
ThisWorkbook.Sheets(Br).Range("A1:AL29").Copy .Range("A" & Rows.Count).End(xlUp).Offset(3)
 
Hmm.... Ik gok dat je "ThisWorkbook" in die regel inmiddels het zojuist geopende workbook is... Daar zal je dus ook de workbooknaam moeten zetten waarvandaan je bent gekomen.
 
Jouw uitleg kan kloppen maar ondertussen, met jouw voorbeeld als uitgangs punt, volgende uitgeprobeerd en het werkt volledig.
Kopie wordt netjes geplaatst, workbook gesloten en terug beveiligd met het paswoord.

Code:
Set wbDst = Workbooks.Open("\\SERVER-BAMG7PMH\Exel\Hrs\Backup1.xlsm", Password:="1234", WriteResPassword:="1234")

Bedankt voor jouw input.

Mvg.
Marc
 
Smabert, fijn dat je probleem nu is opgelost.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan