Newsgroup: it.comp.appl.access
Titolo: Inviare report via fax con la funzione scaricate da Sito comune sez. general 6.131

Ciao a tutti!
Ho scaricato l'esempio in oggetto ed ho copiato tutto in un modulo ma non so
come usarlo
Qualcuno mi può spiegare come utilizzarlo?
Grazie


Cosa non ti è chiaro?
Ciao.
-- 
Sergio MAZZA 


In primo luogo ho fatto il copia / incolla in un modulo, ma mi manca
l'inizio, mi spiego meglio:
la funzione inizia cosě:
On Error GoTo inviaFax_err
'--> creo il file di log
non sň cosa mettere prima es:
Function inviafax()
secondo quesito:
Come richiamo la funzione sull'evento click di un pulsante?
terzo e per il momento ultimo
Il numero di Fax lo ricava dal nome del file creato :
    posInizio = InStr(1, oDoc.Name, "_") + 1 '<-- posizione carattere
underscore
    numeroFaxDaComporre = Mid(oDoc.Name, posInizio) '<-- tolgo i numeri
prima del carattere underscore
    numeroFaxDaComporre = Left(numeroFaxDaComporre,
Len(numeroFaxDaComporre) - 4) '<-- tolgo l'estensione del file e il punto
a me servirebbe usare come numero di telefono il contenuto di una casella di
testo che ho sulla maschera, come posso modificare la funzione in modo che
il percorso del numero di fax lo passo come criterio alla funzione, visto
che mi serve richiamarla da 2 maschere diverse.
Grazie Mille

 Grazie Mille
puoi fare anche una sub routine:
Sub inviaFax(numeroFax as string)
... codice
'--> inizio impostazione e invio documento fax
    numeroFaxDaComporre = Me!numeroFaxDaInviare
occhio che questa riga aggiunge (prima) un zero, rimuovi lo zero
 .FaxNumber = "0" & numeroFaxDaComporre '<-- numero del fax
...codice
End Sub
e la richiami nel "clic" di un bottone cosě:
if not isnull(me!numeroFaxDaInviare) then
    inviaFax me!numeroFaxDaInviare
end if
Ciao.
-- 
Sergio MAZZA 

 ha scritto nel messaggio
news:d07cvj$p3j$1...@canarie.caspur.it...

Grazie mille, sei stato molto gentile, domani mattina la provo poi ti faccio
sapere.
Grazie mille ancora
Ciao!

 ha scritto nel messaggio
news:d07cvj$p3j$1...@canarie.caspur.it...

Ho modificato in sub inviafax come mi hai spiegato, ma quando premo il
pulsante mi da errore alla riga:
Dim oFso As Scripting.FileSystemObject, oDoc As Object
Con questo messaggio:
errore di compilazione:
Tipo definito dall'utente non definito
come lo devo definire??
Grazie ancora per la pazienza


Due possibilità;
1 - indica nei riferimenti (menù: Strumenti - riferimenti) l'utilizzo della 
libreria: Windows Script Host Object Model;
2 - dichiara l'oggetto oFso in modo generico (Dim oFso As Object), solo che 
in questo modo (forse) c'è un leggero decadimento delle prestazioni e non 
vedresti i metodi/proprietà associati a quell'oggetto il che è puo' scomodo.
Ciao.
-- 
Sergio MAZZA 

 Grazie ancora per la pazienza
Per far girare quel codice, ho dovuto aggiungere al progetto i riferimenti a
queste due librerie:
1) "faxcom 1.0 Type Library"
2) "Microsoft Scripting Runtime"
Il tutto riferito a Windows 2000, non so se in Win XP cambia qualcosa.
--
Ciao
Galliano.

 ha scritto nel messaggio
news:d09dkh$o7u$1...@canarie.caspur.it...

Portate pazienza, ma con il codice sono abbastanza negato,
Ho provato la soluzione 1 ma si blocca e mi restituisce il seguente
messaggio:
Errore di compilazione:
Impossibile trovare il metodo o il membro dei dati
e mi evidenzia la riga:
.ArchiveDirectory = "C:\programmi\bowling\faxInviati" '<-- directory dove
posizionare i fax inviati
qualche idea?
Grazie mille

 ha scritto nel messaggio
news:7nXVd.61471$QG6.1...@twister2.libero.it...




Hai seguito il suggerimento di Firidico?
Invia il codice, a occhi chiusi è un po' difficile capire che succede...
Ciao.
-- 
Sergio MAZZA 

 ha scritto nel messaggio
news:F9ZVd.617212$b5.28...@news3.tin.it...

Ho provato tutti i metodi, ma si blocca sempre a quel punto.
ArchiveDirectory = "C:\programmi\bowling\faxInviati" '<-- directory dove
Aiuto!

 Aiuto!
Quali riferimenti hai impostato esattamente? ArchiveDirectory è una
proprietà dell'oggetto faxserver e DEVE essere
disponibile se hai impostato il riferimento alla libreria faxcom. Verifica
col visualizzatore oggetti (dalla finestra di Visual Basic) che l'oggetto
faxserver con tutte le sue proprietà sia effettivamente disponibile. Ti
avverto che non potrò continuare il thread
prima di lunedì perchè sto andando fuori.
--
Ciao
Galliano.


Faxserver è disponibile nel visualizzatore oggetti, quindi non capisco dove
sia l'inghippo.
Provo a postare il codice:
Sub inviafax(nfax As String)
On Error GoTo inviaFax_err
'--> creo il file di log
Dim nomeFileLog As String
nomeFileLog = "C:\bowling\log\logFaxInvio_" & Format(Date, "ddmmyyyy") &
".txt"
Open nomeFileLog For Output As #1
'--> dichiarazione oggetti
Dim oFso As Scripting.FileSystemObject, oDoc As Object
Dim oFax As FaxServer, oFaxDoc As FaxDoc, JobId As Variant
'--> dichiarazione variabili
Dim posInizio As Integer
'--> creazione oggetti
Set oFso = CreateObject("Scripting.FileSystemObject")
Set oFax = CreateObject("FaxServer.FaxServer")
'--> inizio impostazione server fax
Print #1, "'--> inizio impostazione server fax"
With oFax
    .Connect "" '<-- creo una connessione (al pc), se stringa nulla é il pc
locale
    .ArchiveDirectory = "C:\programmi\bowling\faxInviati" '<-- directory
dove posizionare i fax inviati
    .ArchiveOutboundFaxes = 1 '<-- salvataggio di una copia del fax nella
cartella
    .Branding = 1 '<-- scrivi intestazione del fax nel documento
    .DirtyDays = 5 '<-- giorni per ritentare l'invio se non riuscito
    .Retries = 1 '<-- numero ore per ritentare l'invio (del fax) non
riuscito
    .RetryDelay = 5 '<-- numero minuti per ritentare l'invio (del fax) non
riuscito
    .ServerCoverpage = 0 '<-- non invio la pagina di informazioni
    .UseDeviceTsid = 1 '<-- invio l'identificativo del fax che trasmette
End With
Print #1, "'--> fine impostazione server fax" '<-- fine impostazione server
fax
'--> ciclo per ogni documento nella cartella dei fax
Print #1, "'--> ciclo per ogni documento nella cartella dei fax"
For Each oDoc In oFso.GetFolder("C:\programmi\bowling\faxdainviare\").Files
'--> inizio creazione documento fax
'--> creazione documento fax
    Set oFaxDoc = oFax.CreateDocument("C:\programmi\bowling\faxdainviare\" &
oDoc.Name)
'--> inizio impostazione e invio documento fax
    posInizio = InStr(1, oDoc.Name, "_") + 1 '<-- posizione carattere
underscore
    numeroFaxDaComporre = nfax '<-- tolgo i numeri prima del carattere
underscore
    'nfax = Left(numeroFaxDaComporre, Len(numeroFaxDaComporre) - 4) '<-- 
tolgo l'estensione del file e il punto
    With oFaxDoc
        .FaxNumber = numeroFaxDaComporre '<-- numero del fax
        Print #1, nfax & "'<-- numero del fax da comporre"
        On Error Resume Next '<-- verifica errore invio fax
        JobId = .Send '<-- invio fax
        Print #1, "'<-- invio fax: " & oDoc.Name
        If Err.Number <> 0 Then '<-- se si é verificato un errore
            Print #1, "Errore: " & Application.AccessError(Err.Number) & "
su invio fax: " & oDoc.Name & ", JobId: " & JobId
        Else
            Print #1, "Fax: " & oDoc.Name & ", JobId: " & JobId &
"...Inviato."
        End If
    End With
'--> fine impostazione documento fax
    On Error GoTo 0 '<-- ripristino la gestione degli errori
'--> fine creazione documento fax
    Set oFaxDoc = Nothing
Next
On Error GoTo 0 '<-- reimposto la gestione degli errori
inviaFax_exit:
    Print #1, "Disconnessione dal server fax."
    oFax.Disconnect '<-- disconnetto il server fax
    Print #1, "'--> distruggo gli oggetti"
'--> distruggo gli oggetti
    Set oFso = Nothing
    Set oFax = Nothing
    Print #1, "Invio fax terminato."
    Close #1
    Exit Sub
inviaFax_err:
    Print #1, "Disconnessione dal server fax."
    Print #1, "'--> distruggo gli oggetti"
'--> distruggo gli oggetti
    Set oFso = Nothing
    Set oDoc = Nothing
    Set oFax = Nothing
    Set oFaxDoc = Nothing
    Set JobId = Nothing
    Print #1, Application.AccessError(Err.Number), vbCritical + vbOKOnly,
"Routine InviaFax - Errore"
    Close #1
End Sub

 ha scritto nel messaggio 
news:Yg%Vd.617908$b5.28...@news3.tin.it...

La cartella "C:\programmi\bowling\faxInviati" esite?
Ciao.
-- 
Sergio MAZZA 

 ha scritto nel messaggio 
news:d0a3r4$5cr$1...@canarie.caspur.it...

Si esiste è la prima cosa che ho controllato 

 ha scritto nel messaggio 
news:9W0Wd.618345$b5.28...@news3.tin.it...

Questa l'ho risolta, Avevo 2 serverfax nella finestra oggetti
quello giusto ed un altro che ho tolto togliendo la spunta a: "Faxcontrol 
1.0 Type Library
ora il codice mi si blocca alla riga :
inviaFax_err:
    Print #1, "Disconnessione dal server fax."
con il seguente messaggio:
Errore:
numero o nome di file non valido
Continua l'odissea
Grazie Mille per la pazienza 

 Grazie Mille per la pazienza
Cerchiamo di tagliare parte del testo dei messaggi precedenti, specie quelli 
non necessari; ok?
E' probabile che ti è rimasto aperto il canale al file #1, non chiuso (Close 
#1) per un errore precedente; oppure, ma mi sembra strano, il file non 
esiste/non creato...
Ciao.
-- 
Sergio MAZZA 

 ha scritto nel messaggio 
news:f81Wd.618402$b5.28...@news3.tin.it...

TUTTO RISOLTO!!!
Il problema era nel percorso del file di log che era sbagliato.
Devo ringraziare Tantissimo Tutti Senza il vostro aiuto non sarei mai 
riuscito a risolvere il problema.
GRAZIE MILLE
Roberto