Avatar billede Tryphon Nybegynder
27. januar 2012 - 10:52 Der er 8 kommentarer og
1 løsning

Embedded pdf fil i beskyttet ark

Jeg har embedded en .pdf fil i Excel og beskyttet arket. Hvis jeg ikke unlocker .pdf filen, kan jeg ikke klikke på den for at åbne den, og når jeg unlocker kan jeg åbne den ved klik, men så kan brugeren også slette filerne.

Mit spørgsmål er, hvordan kan jeg have en embedded fil i Excel, der kan klikkes på for at åbne den uden at den kan slettes fra arket.

Hvis det ikke kan løses med opsætning, vil en VBA løsning også være velkommen.
Avatar billede Thorp Praktikant
27. januar 2012 - 13:44 #1
Har du overvejet at indsætte et Hyperlink til din PDF fil i stedet, så kan du nemlig beskytte arket og brugeren kan ikke slætte Linket.
Avatar billede Tryphon Nybegynder
27. januar 2012 - 14:36 #2
Ja, men det er et ark, jeg sender ud af huset, så modtageren vil ikke have adgang til den server, hvor dokumenterne ligger.

Jeg vil heller ikke have VBA direkte i det ark, jeg sender ud. Arket bliver skabt ved hjælp af VBA, så hvis der findes en VBA løsning, der kan skabe objektet, så det kan beskyttes og klikkes på samtidig, vil jeg ikke være afvisende overfor sådan en løsning.

Jeg bruger denne kode til at skabe objectet:

Private Function EmbedFilesAsPDF(ByVal Filename As String, ByVal IconText As String, ByVal IconFile As String, ByVal Left As Double, ByVal Top As Double)
Dim Path As String
Dim VAR As Variabler
  Set VAR = New Variabler
  VAR.SetEmbedFilePath
Dim EmbFile As OLEObject
 
  Application.DisplayAlerts = False
  On Error GoTo ErrHandler
  Set EmbFile = ActiveSheet.OLEObjects.Add(Filename:=Filename, _
    Link:=False, DisplayAsIcon:=True, IconFileName:=IconFile, _
    IconIndex:=0, IconLabel:=IconText)
  On Error GoTo 0
  Application.DisplayAlerts = True
  With EmbFile
    .Locked = False
    With .ShapeRange
      .Left = Left
      .Top = Top
      With .Fill
        .Visible = msoTrue
        .Solid
        .ForeColor.SchemeColor = 65
        .Transparency = 0#
      End With
      With .Line
        .Weight = 0.75
        .DashStyle = msoLineSolid
        .Style = msoLineSingle
        .Transparency = 0#
        .Visible = msoFalse
      End With
    End With
  End With
  Range("A34").Select
  Set EmbFile = Nothing
  Exit Function
ErrHandler:
  Select Case Err
    Case 1004
      MsgBox "Filen til " & IconText & " blev ikke fundet" & vbCrLf & _
        "(Filnavn: " & Filename & ")", vbInformation
      Exit Function
  End Select
End Function
Avatar billede boro23 Forsker
30. januar 2012 - 10:25 #3
Jeg laver ofte excelfiler med integreret pdf & video i, netop for at kunne maile rundt, uafhængig af netværk og internet. Måske dette her kan hjælpe dig.
Jeg gør flg.
1. værktøjslinien indsæt, klik Objekt
2. sæt flueben i "vis som ikon" og klik OK
3. Find din fil i dialogboxen Åbn, klik Åbn
4. Højre klik på ikonet, vælg "formater objekt" i fanen "beskyttelse" fjernes fluebenet i låst.
5. herefter kan du beskytte data i arket og stadig åbne den integrerede pdf fil.

Jeg bruger excel 2003
Avatar billede Tryphon Nybegynder
30. januar 2012 - 22:27 #4
Der er nøjagtigt det, min VBA kode gør. Problemet er, at hvis jeg fjerner beskyttelse fra pdf dokumentet og beskytter arket, er der stadig adgang til at slette pdf dokumentet, og det ønsker jeg ikke. Dokumentet må hverken kunne flyttes eller slettes, men der skal stadig være adgang til at åbne det.
Avatar billede boro23 Forsker
31. januar 2012 - 06:57 #5
Hvis du udfører 1-3 og herefter laver en makro der fjerner arkbestyttelse, dobbeltklik på pdf ikonet så det åbner, bestyt arket igen, stop makro. Tildel pdf ikonet den makro du lige har lavet. Har oploadet et eksempel.

http://gratisupload.dk/vis/672930/
Avatar billede Tryphon Nybegynder
31. januar 2012 - 09:12 #6
Ja, det har jeg også tænkt på og jeg har faktisk allerede lavet makroen, men som nævnt i #2 vil jeg ikke have makroer direkte i arket. Det er til professionelt brug og en del af de virksomheder, der skal modtage dokumentet har spærret for brug af makroer i Office dokumenter, og det sætter unægteligt nogen begrænsninger. Jeg kan heller ikke lave det med en signeret makro, da det ikke altid er virksomheder, der kender os i forvejen, der modtager dokumentet. Så vi er altså tilbage ved Excel standard.

Jeg genererer arket med pdf dokumentet fra en intern Excel mappe, der er smækfyldt med makroer, og her vil en makro løsning være OK. Den interne Excel mappe genererer en ny Excel mappe, der indeholder pdf dokumentet, og det sendes efterfølgende til kunden. Her er  makoer forbudt.

Men der er nok ingen løsning. Enten er pdf filen beskyttet, og så kan man ikke røre den eller også er den ikke beskyttet og så er den helt uden begrænsinger.
Avatar billede boro23 Forsker
31. januar 2012 - 10:14 #7
Der findes sikkert en løsning derude et sted, jeg tror jeg melder pas. Var det mig, ville jeg nok lave hele excel filen som pdf incl. tilhørende dokumenter, så er det hele samlet et sted og ingen kan ændre/ slette noget i filen.

Håber du får løst problemet
Avatar billede Tryphon Nybegynder
31. januar 2012 - 13:51 #8
Idéen er god nok, men de vedhæftede pdf dokumenter står bare som billeder og der kan ikke klikkes på dem.

Alternativt kan jeg, som jeg tror du skriver, lave en pdf fil med flere sider, og det kan også være, at det er det, der bliver løsningen. Jeg må lige overveje, om det er det, jeg vil.

Tak for indsatsen. Håber der er andre, der kigger med og kan bidrage.
Avatar billede Tryphon Nybegynder
28. februar 2012 - 21:41 #9
Lukker tråden
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester