Newsgroup: it.comp.appl.access
Titolo: Inviare pdf salvandolo con nome cliente

Ciao a tutti,
dunque cercherò di spiegarmi bene.
Tramite i vostri preziosi consigli dati ad altri e dai quali ho tratto
spunto, ho creato un codice in VBA che mi permette, cliccando su un
pulsante di comando, di creare un pfd e prepararne l'invio via email,
con questo procedimento access salva il pdf in una cartella con un
nome che io gli ho indicato
il codice è questo:
 DirSalvataggio = "C:\miacartella"
 NomeFile = "Ordine"
 MailDestinatario = "
destin...@email.it
"
e fin qui tutto ok, il problema è che salvando il file sempre con lo
stesso nome lo sostituisce sempre al precedente.
All'interno della mia maschera c'è un controllo che si chiama
"SoggettoGrafico", io vorrei salvare il pdf con il nome del soggetto
grafico, qualcuno sa aiutarmi?
Purtroppo sono proprio alle prime armi con il linguaggio VBA, vi
chiedo un pò di pazienza.
Grazie in anticipo.
Miki

 
  DirSalvataggio = "C:\miacartella"
  NomeFile = forms!nome_maschera.SoggettoGrafico
  MailDestinatario = forms!nome_maschera.e_mail

   MailDestinatario = forms!OrdineOffset.e_mail
Ma mi dà questo errore:
Errore di run-time ' 94':
Utilizzo non valido di null
riesci a capire il motivo?

Ho capito dove stava l'errore, il record dal quale stavo facendo le
prove non aveva il campo SoggettoGrafico compilato.
Grazie mille per il tuo aiuto, ora mi cimento con la questione
indirizzo e-mail e vediamo cosa combino.
Ciao
Miki

m...@hotmail.it
 ha scritto:

Puoi postare il codice per favore mi servirebbe.
grazie

 grazie
Trovi info su come creare pdf sul sitocomune o sul sito di Lebans

Dunque....
1) devi scaricare sul pc PDF CREATOR
2)Copia e incolla il codice che trovi qui sotto controllando poi che
tutte le righe siano complete e non ci siano delle interruzioni dovute
a righe lunghe che vanno a capo in automatico
2) leggi bene il codice e scrivici i tuoi campi
....dovrebbe funzionare!
Option Compare Database
Option Explicit
' Aggiungi il riferimento a PDFCreator
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As
Long)
Private Const maxTime = 10    ' in seconds
Private Const sleepTime = 250 ' in milliseconds
Public Function Start()
 PrintRep "NomeTuoReport"
End Function
Public Sub PrintRep(RepName As String)
 Dim PDFCreator1 As PDFCreator.clsPDFCreator, DefaultPrinter As
String, c As Long, OutputFilename As String
 Dim DirSalvataggio As String
 Dim NomeFile As String
 Dim MailDestinatario As String
 DirSalvataggio = "PercorsoCartellaNellaQualeSalvareIlPdf"
 NomeFile = Forms![NomeMaschera].[NomeCampo]
 MailDestinatario = Forms!NomeMaschera.NomeCampoConIndirizzoEmail
 Set PDFCreator1 = New clsPDFCreator
 With PDFCreator1
  .cStart "/NoProcessingAtStartup"
  .cOption("UseAutosave") = 1
  .cOption("UseAutosaveDirectory") = 1
  .cOption("AutosaveDirectory") = DirSalvataggio
    .cOption("AutosaveFilename") = NomeFile
    .cOption("AutosaveFormat") = 0
 ' 0 = PDF
  DefaultPrinter = .cDefaultPrinter
  .cDefaultPrinter = "PDFCreator"
  .cClearCache
  DoCmd.OpenReport RepName, acViewNormal
  .cPrinterStop = False
 End With
 c = 0
 Do While (PDFCreator1.cOutputFilename = "") And (c < (maxTime *
1000 / sleepTime))
  c = c + 1
  Sleep 200
 Loop
 OutputFilename = PDFCreator1.cOutputFilename
 'Invia MAIL con allegato
 With PDFCreator1
  .cDefaultPrinter = DefaultPrinter
  Sleep 200
  .cSendMail OutputFilename, MailDestinatario
  .cClose
 End With
 Sleep 2000 ' Wait until PDFCreator is removed from memory
 If OutputFilename = "" Then
  MsgBox "Creating pdf file." & vbCrLf & vbCrLf & _
   "An error is occured: Time is up!", vbExclamation + vbSystemModal
 End If
End Sub
Ciao
Miki