Foto invoegen in beveiligd Word document

Status
Niet open voor verdere reacties.

evero

Gebruiker
Lid geworden
25 jul 2011
Berichten
31
Goedendag,

Ik heb een beveiligd Word document met daarin enkele “bookmarks”
Middels VBA wil ik foto’s invoegen op deze “bookmarks”. Zie bijgaand voorbeeld bestand.
Dit is alleen mogelijk als het wachtwoord eraf is.
Ik wil dus voor het invoegen (in dezelfde VBA code als voor het invoegen van de foto’s) het wachtwoord eraf halen en na het invoegen er weer opzetten.

evero
 

Bijlagen

Waarschijnlijk door eerst dit te gebruiken:
ActiveDocument.Unprotect "JeWachtwoord"

En aan het einde:
ActiveDocument.Protect "JeWachtwoord"
 
Hallo Edmoor,

Dank voor uw antwoord.
Het gedeelte voor het eraf halen van het wachtwoord loop goed.
De foto zie ik even op het blad verschijnen en daarna krijg ik de melding "Parameterwaarde viel buiten geldig bereik".
Als ik dan op beëindigen druk verschijnt de foto maar is het document nog niet beveiligd.
Enig idee hoe dit op te lossen.
Ik heb nu onderstaande code:

Code:
Private Sub CommandButton1_Click()
ActiveDocument.Unprotect "1234"
Dim StrPic As String, iShp As InlineShape, Rng As Range
With Application.Dialogs(wdDialogInsertPicture)
  If .Show = -1 Then
    StrPic = .Name
    With ActiveDocument
      .Undo
      Set Rng = .Bookmarks("BkMk").Range
      Rng.Text = vbNullString
      Set iShp = .InlineShapes.AddPicture(FileName:=StrPic, LinkToFile:=False, Range:=Rng)
      With iShp
        .LockAspectRatio = True
        .Height = InchesToPoints(3)
      End With
      With Rng
        .End = .End + 1
      End With
      .Bookmarks.Add "BkMk", Rng
    End With
  End If
End With
ActiveDocument.Protect "1234"
End Sub
evero
 
De oorzaak van die fout zou ik zo niet weten, maar de regel voor het zetten van de beveiliging wordt daardoor niet uitgevoerd. Zet net voor deze regel:
With Application.Dialogs(wdDialogInsertPicture)

Dit eens:
On Error Resume Next
 
Hallo Edmoor en andere forum leden,

De VBA code loopt zonder haperingen door maar de beveiliging van het werkblad komt er uiteindelijk niet op.
Heeft iemand nog een oplossing voor dit probleem?
Ik heb nu onderstaande code:

Private Sub CommandButton1_Click()
ActiveDocument.Unprotect "1234"
Dim StrPic As String, iShp As InlineShape, Rng As Range
On Error Resume Next
With Application.Dialogs(wdDialogInsertPicture)
If .Show = -1 Then
StrPic = .Name
With ActiveDocument
.Undo
Set Rng = .Bookmarks("BkMk").Range
Rng.Text = vbNullString
Set iShp = .InlineShapes.AddPicture(FileName:=StrPic, LinkToFile:=False, Range:=Rng)
With iShp
.LockAspectRatio = True
.Height = InchesToPoints(3)
End With
With Rng
.End = .End + 1
End With
.Bookmarks.Add "BkMk", Rng
End With
End If
End With
ActiveDocument.Protect "1234"
End Sub

evero
 
Heb je al in debug mode met F8 de code doorlopen om te zien of de .Protect regels ook wordt uitgevoerd?
 
Eureka

Als ik het gedeelte:

Code:
ActiveDocument.Protect "1234"

vervang door:

Code:
 ActiveDocument.Protect Password:="1234", NoReset:=False, Type:= _
        wdAllowOnlyReading, UseIRM:=False, EnforceStyleLock:=False

dan is het document wel beveiligd.

Heb ik uiteindelijk nog één vraag.
is er ook nog een mogelijkheid om, als de verkeerde foto is ingevoegd, deze te selecteren en te verwijderen?

evero
 
Beveiliging lijkt me volslagen zinloos en dus overbodig.
 
Het document waarin foto's moeten worden bijgevoegd is onderdeel van een beveiligd rapportage formulier in Word.
Om te voorkomen dat de inhoud van dit formulier een "blender"achtig karakter krijgt is het document beveiligd.
Ik hoop dat deze verklaring voldoende is.

evero
 
Gebruik een userform (die heet niet voor niets zo).
 
Hallo allen die gereageerd hebben en andere forum leden,

Mogelijk dat het gebruik van een Userform (zoals voorgesteld door snb) misschien de beste oplossing is voor mijn probleem.
Echter heb ik nu al zoveel werk in mijn formulier gestoken dat ik het zonde vind van al mijn hierin gestoken tijd als het op dit punt (de mogelijkheid van het weer verwijderen van een eenmaal ingevoegde afbeelding) zou moeten stranden.
Zie als voorbeeld bijgaand document.
Iemand enig idee?

evero

Bekijk bijlage Foto invoegen.zip
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan