Avatar billede ingeman Mester
01. december 2024 - 17:36 Der er 5 kommentarer

PDF viewer i VBA kode

Ønsker at lave en stor celle eller textbox  til at fremvise PDF filer i

Finder ikke rigtigt noget på nettet der kan bruges.
Avatar billede Ahmed El Novice
01. december 2024 - 21:34 #1
Her er et eksempel på, hvordan du kan integrere en PDF-viewer i en VBA-applikation ved hjælp af en WebBrowser-kontrol:

1. Indsæt en WebBrowser-kontrol i din formular eller regneark:
  - I VBE (Visual Basic Editor), vælg "Insert" > "Microsoft Web Browser" fra værktøjslinjen.
  - Træk og slip kontrollen på din formular eller dit regneark for at oprette den.
  - Tilpas størrelsen efter behov.

2. Giv WebBrowser-kontrollen et navn, f.eks. "WebBrowserPDF".

3. Brug følgende VBA-kode til at indlæse og vise en PDF-fil i WebBrowser-kontrollen:

```vb
Private Sub DisplayPDF(ByVal pdfPath As String)
    WebBrowserPDF.Navigate pdfPath
End Sub
```

4. For at vise en PDF-fil skal du blot kalde `DisplayPDF`-funktionen med stien til PDF-filen:

```vb
Private Sub CommandButton1_Click()
    DisplayPDF "C:\Path\To\YourFile.pdf"
End Sub
```

Dette vil indlæse og vise den angivne PDF-fil i WebBrowser-kontrollen.

Nogle få ting at bemærke:
- WebBrowser-kontrollen bruger Internet Explorer til at gengive PDF-filer, så kvaliteten og funktionaliteten kan variere afhængigt af versionen af IE installeret på systemet.
- Sørg for, at stien til PDF-filen er korrekt, og at filen eksisterer.
- Hvis PDF-filen ikke vises korrekt, skal du muligvis installere Adobe Reader eller justere IE's sikkerhedsindstillinger.

Alternativt kan du også bruge tredjeparts-VBA-biblioteker eller -kontroller, der er specialiseret i at vise PDF-filer, såsom:
- Adobe Acrobat SDK
- FoxIt PDF SDK
- PDFlib TET.

Lad mig høre hvordan det går med det?
Avatar billede ingeman Mester
02. december 2024 - 06:45 #2
Jeg får en besked vdr Webbroser kontrollen når jeg prøver at indsætte den:
Kan ikke indsætte object
Avatar billede Ahmed El Novice
02. december 2024 - 20:14 #3
Hvis du får fejlen "Kan ikke indsætte objekt", når du forsøger at indsætte en WebBrowser-kontrol, kan det skyldes nogle få ting:

1. Manglende reference: Sørg for, at referencen til "Microsoft Internet Controls" er aktiveret i dit VBA-projekt.

I VBE skal du gå til "Tools" > "References".
Kontroller, at "Microsoft Internet Controls" er markeret. Hvis den ikke er på listen, skal du muligvis først registrere biblioteket (se næste punkt).


2. Manglende registrering af biblioteket:

Åbn en kommandoprompt (cmd.exe) som administrator.
Kør følgende kommando for at registrere biblioteket:
Copyregsvr32 "C:\Windows\System32\shdocvw.dll"

Genstart Excel efter registreringen.


3. Begrænsninger i Trust Center:

I Excel skal du gå til "File" > "Options" > "Trust Center" > "Trust Center Settings" > "ActiveX Settings".
Sørg for, at "Prompt me before enabling all controls with minimal restrictions" er valgt.
Genstart Excel efter ændring af indstillingerne.
Avatar billede ingeman Mester
03. december 2024 - 12:09 #4
Har prøvet ovenstående - men hjælper ikke - stadig samme fejl.
Avatar billede ingeman Mester
03. december 2024 - 16:33 #5
Dim MyBrowser As SHDocVw.InternetExplorer
    Set MyBrowser = New SHDocVw.InternetExplorer
   
   
    With MyBrowser
      .Visible = True
      .Toolbar = False
      .Top = 150
      .Left = 840
      .Height = 980
      .Width = 920
    End With
   
   
    MyBrowser.Navigate "10205-Kreditorbilag.pdf"

Har fundet den her - men hvordan får  man den placeret i Excel eks Range("T1")
skalere indholdet til at Fit til page i browseren ?
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