Jag får felmeddelandet "Bad file mode" på denna kod (det är raden: 'T.WriteLine "Rubrik" ' som genererar felet.) Testa det här: Hej!Bad file mode
Dim F, T
Set F = CreateObject("Scripting.FileSystemObject")
Set T = F.OpenTextFile(Source & "offert_" & Filnamn & ".rtf")
T.WriteLine "Rubrik"
T.WriteLine "En längre text"
T.Close
Response.Write "Informationen inlagd!" & "<br>"
("Filnamn" är ett nummer, t. ex. 13, och "Source" är källan, t. ex. "c:\wwwroot\filer") Filen i fråga skapades av ett annat script i ett tidigare skede, och är helt tom.Sv: Bad file mode
<code>
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Set T = F.OpenTextFile(Source & "offert_" & Filnamn & ".rtf", ForAppending, True)
</code>
då kommer texten att läggas till i slutet av filen. vill du ersätta all text med den nya texten byter du ut "ForAppending" mot "ForWriting"
(egentligen behöver du bara skriva in nummrena för värdena, men det blir lättare att förstå det om man använder konstanter ist.)Sv: Bad file mode
OpenTextFile tar emot några argument, bland annat vilken typ av filoperation du önskar göra.
object.OpenTextFile (filename [, iomode[, create[, format]]])
iomode kan vara ett av följande alternativ:
1: Öppnar filen för läsning.
2: Öppnar filen för skrivning. Om filen finns så skrivs innehållet över.
8: Öppnar filen för tillägg (append) i slutet av filen.
Man brukar ersätta respektive siffra med en konstant:
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Så, om du vill skriva till filen, så ska din kod se ut ungefär så här:
Set T = F.OpenTextFile(Source & "offert_" & Filnamn & ".rtf", ForAppending)
Du kan läsa mer om OpenTextFile på
http://www.devguru.com/Technologies/vbscript/quickref/filesystemobject_opentextfile.html
Lycka till och lev väl,
Tom S.