Avatar billede bo_lop Nybegynder
01. august 2003 - 09:35 Der er 9 kommentarer

Rapport til PDF Part II

Hej.
Jeg har installeret en masse moduler og flere koder stykker, som nu har effekten, at hvis jeg i formular trykker på "pdf" bliver standardprinter ændret til adobe pdfwriter og når det har lavet pdf`en hopper den over til den normale standardprinter. Mit problem er at access ikke opfatter at standardprinteren bliver fra pdfwriter igen. Det så om den mangler noget refresh af en art
Avatar billede henrik13 Nybegynder
01. august 2003 - 09:39 #1
Kan du ikke læse alle dine moduler ind ved start af access.  :o)
Avatar billede schoesler Nybegynder
01. august 2003 - 09:41 #2
Denne kode virker og jeg bruger pdfMachine, som faktisk er ret god (BroadGun pdfMachine)Du kan selvfølgelig skifte BroadGun pdfMachine ud med PDF Writer

På komando knab sættes

Private Sub Command283_Click()
On Error GoTo Err_Command5_Click

ChangeToAcrobat
ChangePdfFileName "Name of pdf file including .pdf"
DoCmd.OpenReport "Test Report", acViewNormal
ResetDefaultPrinter
Exit_Command5_Click:
    Exit Sub

Err_Command5_Click:
    MsgBox "End sending file", vbInformation
   
    Resume Exit_Command5_Click

End Sub

I modul skrives
----------------

Option Compare Database


Option Explicit
' These functions used with procedures from
' Microsoft Access 95 How-To
'(c) 1998 Ken Getz and Paul Litwin
' All rights reserved.

' Other modules from this source are:
' basDefaultPrinter
' basGetPrinters
' basIniFile
' basPrintTypes
' basToken

' You'll also need defaultprt.zip

Private drexisting As aht_tagDeviceRec
Const AcrobatName = "BroadGun pdfMachine"
Const AcrobatDriver = "PDFWRITR"
Const AcrobatPort = "LPT1:"
Function ResetDefaultPrinter()
    Call ahtSetDefaultPrinter(drexisting)
End Function
Function ChangeToAcrobat()
    If ahtGetDefaultPrinter(drexisting) Then
        Dim dr As aht_tagDeviceRec
        With dr
            .drDeviceName = AcrobatName
            .drDriverName = AcrobatDriver
            .drPort = AcrobatPort
        End With
        Call ahtSetDefaultPrinter(dr)
  End If
End Function

Sub ChangePdfFileName(NewFileName As String)
  Call aht_apiWriteProfileString("BroadGun pdfMachine", _
            "PDFFileName", NewFileName)
End Sub
Avatar billede schoesler Nybegynder
01. august 2003 - 09:43 #3
Skift 'BroadGun pdfMachine' ud med 'Acrobat PDFWriter'
Avatar billede bo_lop Nybegynder
01. august 2003 - 09:46 #4
Det er den samme kode som pdfwriter, men har du erfaringer med at access vælger pdf printer og ikke kan skifte tilbage... BroadGun koden er den samme pdfwriter koden.,,
Avatar billede bo_lop Nybegynder
01. august 2003 - 09:54 #5
Det er som om den kun skifter tilbage fra pdfwriter til standardprinter hvis man lukker programmet. PÅ mig virker det som om at printeren bliver loadet ind i starten, og ikke mere
Avatar billede terry Ekspert
01. august 2003 - 12:03 #6
You may be able to change the printer in another way
http://support.microsoft.com/default.aspx?scid=kb;en-us;319317
Avatar billede schoesler Nybegynder
01. august 2003 - 15:10 #8
Har ikke været ude for at den ikke skifter tilbage. Prøv at lave et eksempel med min kode og se om den kør en forskel. Evt. importer din db ind i en ny acces db
Avatar billede gp Nybegynder
14. august 2003 - 07:59 #9
Hej bo lop,

Jeg er også ved at lave min db således at den også kan skrive ud til PDF hvis brugeres vil have det, men mine raporter er ikke til at styre, derfor vil jeg høre om du evt. kunne dele din erfaring med mig.

Lige nu tænker jeg på at brugeres skal vælge PDF printer i en dropdovn menu også når han er færdig med dette skal alt være som før.

Jeg ser frem til at høre fra dig.

glenn@mentzler.dk
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