Grazie a tutti gli amici della ml.
Posto un problema che mi sembra assurdo, ma che mi sta facendo impazzire.
Ho creato vari file .rtf modello per poter riempire un ordine a fornitore.
I modelli sono fatti in funzione delle righe da compilare e si chiamano rispettivamente
"\M_GAS_OrdineaFornitore.rtf" fino a 44 righe
"\M_GAS_OrdineaFornitore_2p.rtf" > 44 dino a 87
"\M_GAS_OrdineaFornitore_3p.rtf" e via dicendo
"\M_GAS_OrdineaFornitore_4p.rtf"
"\M_GAS_OrdineaFornitore_5p.rtf"

in funzione del n.ro di righe da stampare copio il modello su un file di lavoro che "\GAS_OrdineaFornitore.rtf" che utilizzo per personalizzare le righe.




select case ModuloPrt
case 1
NomefileIn = "\M_GAS_OrdineaFornitore.rtf"
case 2
NomefileIn = "\M_GAS_OrdineaFornitore_2p.rtf"
case 3
NomefileIn = "\M_GAS_OrdineaFornitore_3p.rtf"
case 4
NomefileIn = "\M_GAS_OrdineaFornitore_4p.rtf"
case 5
NomefileIn = "\M_GAS_OrdineaFornitore_5p.rtf"
end select
FileOut = "\GAS_OrdineaFornitore.rtf"

Set fso = Server.CreateObject("Scripting.FileSystemObject")
if fso.FileExists(FileIn) then
if fso.FileExists(FileOut) then
' Elimina l'ultimo Ordine inviato come allegato
FSO.DeleteFile(FileOut)
END IF
fso.copyfile FileIn ,FileOut ' , TRUE
set FSO = nothing
IF NOT CreaAllegato(x_N_Ordine_F, FileIn,FileOut) THEN ' Creo Allegato
exit function
END IF

End If

Quindi, osservando il codice, ogni volta cancello il vecchio file di output (Funzione seguita regolarmente), lo copio prendendo dal modello in funzione delle righe da editare (Funzione seguita regolarmente) e vado a personalizzare la funzione "CreaAllegato" nella quale personalizzo il file da editare.
La funzione va eseguita regolarmente se il file da lavoro (copia del modello) è inferiore a 1000 KB.
Può sembrare una stranezza, ma aprendo il file di dimensione massima copia del modello "\M_GAS_OrdineaFornitore_5p.rtf" non esegue le istruzioni della funzione.
Potete aiutarmi ?

allego il codice della funzione "CreaAllegato"




Function CreaAllegato(NOrdine,FileModello, NomefiledaStampare)

dim Strsql, rs, Cont, Cont1, Par1, Par2, Opn, Opr, Opc, Parametro, IndMax, Nulla, TipoElab, CampodaAnalise, Campodaeditare, CampodiConfronto, PrimaVolta, CampoinEsame
dim Strsql1, rs1,txtModello, FileDaStampare,NomeFile, NomeFile1, diff, pathuser, barra, CampoData
dim MailFrom, MailTo, MailBody, MailCc, MailBcc, MailSubject, MailFormat, FileIn
dim xy, NumNiente, CampoPerBody, x, y

CreaAllegato = false

xy = "<n1>"
ddd = "step_Null"

Par1 = "$"
Field1 = "Ord"
Field2 = "Anagrafica"
Field3 = "Articolo"
Field4 = "um"
Field5 = "Q"
Field6 = "Pr"
CampodiConfronto = ""


select case ModuloPrt
case 1
IndMax = 40
case 2
IndMax = 99
case 3
IndMax = 161
case 4
IndMax = 221
case 5
IndMax = 282
end select

Nulla = " "
barra = "/"

MailFrom = ""
MailTo = ""
MailCc = ""
MailBcc = ""
MailSubject = ""
MailBody = ""
MailFormat = "TEXT"

MessErrore = "CreaAllegato - Step 1 "

' pathuser = Server.MapPath("././Modello")

FileDaStampare = NomefiledaStampare

MessErrore = "CreaAllegato - FileModello " & FileModello & " -- Da Stampare: " & NomefiledaStampare
' exit function

Set fso = Server.Createobject("Scripting.FileSystemObject")

if fso.FileExists(FileDaStampare) then
Set f = fso.OpenTextFile(FileModello, 1, False, 0)
Set fo = fso.OpenTextFile(FileDaStampare, 2, False, 0)



MessErrore = "CreaAllegato open files - F " & FileModello & " -- Output: " & NomefiledaStampare


'Leggo tutto il contenuto del documento
documento = f.ReadAll
' Leggo i dati identificativi del Fornitore e dell'ordine per comporre la testata del documento
Strsql = "SELECT FORNITORI.ID_Fornitore,FORNITORI.e_Mail_F, FORNITORI.RagioneSociale_F, FORNITORI.Indirizzo_F, T_Localita.D_Localita, T_Localita.CapLocalita, T_Localita.PrLocalita, Ordini_Fornitore.N_Ordine_F, Ordini_Fornitore.Dt_Ordine_F, Ordini_Fornitore.C_Spesa, Ordini_Fornitore.Note_Ordine_F, SPESA.Dt_Consegna " & _
" FROM SPESA INNER JOIN ((Ordini_Fornitore INNER JOIN FORNITORI ON Ordini_Fornitore.C_Fornitore = FORNITORI.ID_Fornitore) INNER JOIN T_Localita ON FORNITORI.C_Localita = T_Localita.ID_Localita) ON SPESA.Id_Spesa = Ordini_Fornitore.C_Spesa " & _
" WHERE (((Ordini_Fornitore.N_Ordine_F)=" & AdjustSql(NOrdine) & "))"

MessErrore = "CreaAllegato - Lettura Testata " & Strsql

Set rs = conn.Execute(Strsql)
if not rs.eof then
MessErrore = "CreaAllegato - Inizio a fare replace "

' qui ho messo uno stop per verificare se arrivo ad eseguire questa parte di codice che NON VIENE ESEGUITA.


fo.Write documento 'test

'chiudo tutto
f.Close 'test
fo.Close 'test
Set f = Nothing 'test
Set fo = Nothing 'test
Set fso = Nothing 'test
exit function

gRAZIE mORENO