Aiutamici Forum
Benvenuto Ospite Cerca | Topic Attivi | Utenti | | Log In | Registra

lettura file .rtf > 1000 kb con fso Opzioni
Misonsan
Inviato: Sunday, July 05, 2009 10:24:16 AM
Rank: AiutAmico

Iscritto dal : 7/8/2007
Posts: 77
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

javascript:insertsmiley('Anxious%20','/images/emoticons/eusa_shifty.gif')
Sponsor
Inviato: Sunday, July 05, 2009 10:24:16 AM

 
dead
Inviato: Sunday, July 05, 2009 3:04:59 PM

Rank: AiutAmico

Iscritto dal : 9/20/2004
Posts: 1,597
penso he l'unico in grado di aiutarti sia a10n11
Prova a ripostare nella sezione di office.


Sono cosi avanti che quando guardo indietro vedo il futuro.
Utenti presenti in questo topic
Guest


Salta al Forum
Aggiunta nuovi Topic disabilitata in questo forum.
Risposte disabilitate in questo forum.
Eliminazione tuoi Post disabilitata in questo forum.
Modifica dei tuoi post disabilitata in questo forum.
Creazione Sondaggi disabilitata in questo forum.
Voto ai sondaggi disabilitato in questo forum.

Main Forum RSS : RSS

Aiutamici Theme
Powered by Yet Another Forum.net versione 1.9.1.8 (NET v2.0) - 3/29/2008
Copyright © 2003-2008 Yet Another Forum.net. All rights reserved.