Avatar billede hjbe Nybegynder
23. september 2002 - 07:40 Der er 19 kommentarer og
1 løsning

Print af pdf objecter

Jeg har en database med flere indsatte pdf objecter indsat.
Jeg vil gerne ha' lavet et lille modul, der ved hjælp af et enkelt tryk sender pdf filerne direkte til en printer. Uden at vise dem på skærmen.
Jeg kan ikke rigtig komme igang.

Er der nogen der har et hint ?
Avatar billede terry Ekspert
23. september 2002 - 08:14 #1
i very much doubt you can without an add-in
Avatar billede moses Praktikant
23. september 2002 - 08:38 #2
Hvad med at se på http://partners.adobe.com/asn/developer/sdks.html.
Der kan være noget, du kan bruge
Avatar billede terry Ekspert
23. september 2002 - 09:01 #3
Avatar billede terry Ekspert
23. september 2002 - 09:02 #4
this requires that you have acrobat reader installed!
Avatar billede hjbe Nybegynder
23. september 2002 - 21:37 #5
I save the pdf files as objects. How do I send them to Acrobat ( I have the Acrobat Writer 4,0)
I tried with
Dim docname As String
docname = Me.report
docname = "C:\Program Files\Adobe\Acrobat 4.0\Reader\AcroRd32.exe / t"
Call Shell(docname, 1)
but it wont work
Avatar billede terry Ekspert
24. september 2002 - 08:08 #6
what happens?
Avatar billede hjbe Nybegynder
24. september 2002 - 08:17 #7
It says there is no filename "docname".
It seems the problems is to get the record assignet to Acrobat.
Avatar billede terry Ekspert
24. september 2002 - 08:19 #8
thats because your using the /t paramater and it is expect the name of the file to print.
Look at the two lines satrting with
docname !!!!!!!!
Avatar billede hjbe Nybegynder
24. september 2002 - 09:57 #9
I cant et this to work.
I now tried another way around.
But how do I get it recieve the File and pathname from my formular.
See below

Declare Function ShellExecute Lib "shell32.dll" Alias _
        "ShellExecuteA" (ByVal Hwnd As Long, _
        ByVal lpOperation As String, _
        ByVal lpFile As String, _
        ByVal lpParameters As String, _
        ByVal lpDirectory As String, _
        ByVal nShowCmd As Long) As Long

Declare Function GetDesktopWindow Lib "user32" () As Long

Public Sub pdf()
Dim StartDoc As Long
  StartDoc = ShellExecute(GetDesktopWindow(), "Print /t", _
  "C:\xxxxx\1085.pdf", "", "C:\", 1)
End Sub
Instead of the C:\xxxxx\1085.pdf I want it to take the filename and path from my recordset in the foemular
Avatar billede terry Ekspert
24. september 2002 - 10:01 #10
not sure what the GetDesktopWindow() function does!

What is wrong with

docname = "C:\Program Files\Adobe\Acrobat 4.0\Reader\AcroRd32.exe / t " & me.report

Call Shell(docname, 1)
Avatar billede hjbe Nybegynder
24. september 2002 - 10:16 #11
It says the file and path does not exist.
Damn. I thought it would be simple to make a database to store, catalogue, and later print out pdf files.
Avatar billede fynbohans Nybegynder
24. september 2002 - 16:44 #12
Har du forsøgt med et ekstra felt i formularen med stien til den originale pdf-fil?
I ShellExecute kan du prøve at lave teksten om til variable af typen Variant
(se hjælp til Shell), eller af typen String og tilføje Chr$(0) - ASCIIZ.
Avatar billede hjbe Nybegynder
24. september 2002 - 16:56 #13
Ja, men jeg kan ikke få den til at acceptere filnavn og sti fra feltet.
Den påstår filen ikke findes, men det må være fordi den ikke kan "snappe" det fra feltet.
Avatar billede fynbohans Nybegynder
24. september 2002 - 17:07 #14
Eftersom det er en exe-fil der skal startes skulle Shell være nok efter at du har
lavet teksten om til variable, f.eks.:
Dim Filadr as  Variant
Filadr = "C\........."

ShellExecute kender ikke almindelige strenge, derfor kan stien ikke findes.
Avatar billede hjbe Nybegynder
24. september 2002 - 17:30 #15
Den forstår jeg ikke.
På min formular har jeg et felt med fil og sti navn kaldet "path"
hvis jeg vil ha det ind i sub'en skriver jeg:

Dim docname As Variant
docname = Me.Path
docname = "C:\Program Files\Adobe\Acrobat 4.0\Reader\acrobat.exe / t " & Me.Path
Call Shell(docname, 1)

Hvad er det jeg gør galt ?
Avatar billede fynbohans Nybegynder
24. september 2002 - 18:02 #16
Som Terry skriver overskrives docname = Me.Path af næste linje og parameteren
"t" skal flyttes til efter filnavn.  Næste linje fjernes.

Hvis Me.path er stien til pdf-filen og parameteren "t" er korrekt  skulle følgende virke

Shell "C:\Program Files\Adobe\Acrobat 4.0\Reader\acrobat.exe" & docname & " /t",1

virke.
Avatar billede terry Ekspert
24. september 2002 - 18:03 #17
place a breakpoint at Call Shell..
and then run the code
Then when the code stops press
Ctrl+G to open the debug window. Then write th efollowing and press enter

?docname

You should now see the contents of what you are sending to shell
does it make sence?

Does acrobat.exe exist in that folder?
Avatar billede hjbe Nybegynder
24. september 2002 - 18:54 #18
Så virker det.
der skulle et ekstra mellemrum ind mellem acrobat delen og sti navnet.
sådan
Dim docname As Variant
Dim sti As Variant
sti = Me.Path
docname = "C:\Program Files\Adobe\Acrobat 4.0\reader\AcroRd32.exe" & " " & "/t" & " " & sti
Call Shell(docname, 1)

Jeg takker mange gange.
Hvordan deler jeg pointene mellem jer.
Jeg kan ike se fynbohans på listen
Avatar billede terry Ekspert
24. september 2002 - 19:06 #19
You can wait a while to see if he appears.
Avatar billede terry Ekspert
24. september 2002 - 19:07 #20
good to see it works though :o)
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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