Newsgroup: it.comp.appl.access
Titolo: Report & PDF

Salve a tutti,
volevo sapere se esiste la possibilità di
trasformare un report in PDF sin modo automatico....
Ho installato ACROBAT e mi crea la stampante virtuale (Acrobat distiller)...
facendo la cosa manualmente funziona ma io vorrei schedulare una cosa
automatica che alla sera
vada a crearmi i files PDF in automatico....
Ho provato a schedulare illancio della stampa ma ogni volta mi richiede il
nome
del file PDF di uscita... e quindi questa cosa bloccherebbe l'esecuzione
automatica
della cosa...
grazie!
ringo

 ha scritto nel messaggio
news:b37bm3$elq$1...@newsread.albacom.net...

Allora ....
se sai già come impostare in automatico la stampante
Pdf Writer, sei già un pezzo avanti, se non lo sai ti consiglio
di visitare il sito comune e cercare come impostare la stampante di default.
Fatto questo ti dico come io ho risolto il tuo problema in una mia
applicazione. Il segreto e' di utilizzare il registro di Windows (cosa non
documentata da Adobe)
andando a scrivere il nome del file da utilizzare per la creazione del file
Pdf.
Crea un modulo vuoto ed incollaci le seguenti righe:
Global Const REG_SZ As Long = 1
Global Const REG_DWORD As Long = 4
Global Const HKEY_CLASSES_ROOT = &H80000000
Global Const HKEY_CURRENT_USER = &H80000001
Global Const HKEY_LOCAL_MACHINE = &H80000002
Global Const HKEY_USERS = &H80000003
Global Const ERROR_NONE = 0
Global Const ERROR_BADDB = 1
Global Const ERROR_BADKEY = 2
Global Const ERROR_CANTOPEN = 3
Global Const ERROR_CANTREAD = 4
Global Const ERROR_CANTWRITE = 5
Global Const ERROR_OUTOFMEMORY = 6
Global Const ERROR_INVALID_PARAMETER = 7
Global Const ERROR_ACCESS_DENIED = 8
Global Const ERROR_INVALID_PARAMETERS = 87
Global Const ERROR_NO_MORE_ITEMS = 259
Global Const KEY_ALL_ACCESS = &H3F
Global Const REG_OPTION_NON_VOLATILE = 0
Declare Function RegCreateKeyEx Lib "advapi32.dll" Alias "RegCreateKeyExA" _
   (ByVal hKey As Long, ByVal lpSubKey As String, ByVal Reserved As Long, _
   ByVal lpClass As String, ByVal dwOptions As Long, ByVal samDesired As
Long, _
   ByVal lpSecurityAttributes As Long, phkResult As Long, lpdwDisposition As
Long) As Long
Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" _
   (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, _
   ByVal samDesired As Long, phkResult As Long) As Long
Sub Reg_Scrivi(lPredefinedKey As Long, sKeyName As String, sValueName As
String, _
                  vValueSetting As Variant, lValueType As Long)
   Dim lRetVal As Long
   Dim hKey As Long
   lRetVal = RegOpenKeyEx(lPredefinedKey, sKeyName, 0, KEY_ALL_ACCESS, hKey)
   lRetVal = WriteValueEx(hKey, sValueName, lValueType, vValueSetting)
   RegCloseKey (hKey)
End Sub
-------------------------
a queto punto chiudi e salva tutto.
Ora puoi utilizzare la funzione Reg_Scrivi ovunque ti serva nel modo
seguente
call Reg_Scrivi(HKEY_CURRENT_USER, "Software\Adobe\Acrobat PDFWriter",
"PDFFilename", NomeFile, REG_SZ)
ti bastera' assegnare alla variabile NomeFile il pathname del file che
vorrai creare
una volta impostato acrobat writer come stampante predefinita (ed attento
che
nell'installazione base di acrobat il device di stampa non e' incluso, ma
devi
dirlo tu di installarlo, in pratica devi avere in elenco stampanti la
stampante "Acrobat PdfWriter") una volta impostato dicevo puoi lanciare la
funzione
e mandare in stampa il report, verrà creato in automatico senza richieste.
Ricorda di azzerare il valore del registro dopo stampato , altrimenti
Acrobat non chiedera'
piu come chiamare il file ma useraì il nome che ci hai memorizzato.
Good Work
Bye :o)

"Enrico T.S." <WlaRom...@Hotmail.com> ha scritto nel messaggio
news:9mS5a.146627$ZE.42...@twister2.libero.it...

grazie!
troppo gentile e chiaro.... adesso ci provo
ringo

"Enrico T.S." <WlaRom...@Hotmail.com> ha scritto nel messaggio
news:9mS5a.146627$ZE.42...@twister2.libero.it...

stò impazzendo :-(
ma non per accessss...
non riesco ad installare il PDF Writer......
non trova LPT1.... ho provato su WINXP,WIN98,WIN2000
ma niente... si blocca sull'LPT1