Har ett XML dokument och skall infoga en icke XML sträng först i dokumentet av överföringsorsaker. >append'a text först i ett befintligt dokument. Jo, jag vet, men problemet är att jag måste Append'a ganska stora filer för att få in den lilla headern först. Varför inte skriva headern först till filen. Sedan skriva texten från Dom objektet? Save metoden på DOM objektet skriver över befintlig data i filen. Inga options att sätta ForAppend heller... Så här löser jag det Jag menar något sådant här: För att inte fastna i just detta hade jag redan gjort en liknande lösning som SvenPon, fast med FSO. Skriva till textfil
Varken med VBs gamla filhantering eller med FileSystemObject komponenten verkar det finnas något enkelt sätt att append'a text först i ett befintligt dokument. Har jag missat något?
Nu blir jag ju tvungen att append'a hela XML filen i en fil med den lilla strängen...
/SSv: Skriva till textfil
Append betyder att lägga till "efter"(Appendix), tycker att det du gör nu är helt ok.
Man kan alltså inte Appenda: något före befintligt , "ordvrängeri"Sv: Skriva till textfil
Jag kan heller inte lägga in headern först, eftersom jag skapar XML dokumentet med DOM objekt och då blir det syntax fel på XML dokumentet.
Vad jag sökte var om någon känner till en Insert funktion på fil/textstream hantering.
SSv: Skriva till textfil
Sv: Skriva till textfil
/S Sv: Skriva till textfil
Option Explicit
Private Sub Command1_Click()
Dim FileNum As Long
Dim sChunk As String
Dim sHeader As String
sHeader = "My Header"
FileNum = FreeFile
Open "C:\Test.txt" For Input As #FileNum
sChunk = Input$(LOF(FileNum), FileNum)
Close #FileNum
FileNum = FreeFile
'ev. byt namn på utfil
Open "C:\Test.txt" For Output As #FileNum
Print #FileNum, sHeader & vbCrLf & sChunk
Close #FileNum
End SubSv: Skriva till textfil
<code>
Private Sub Command1_Click()
Dim FileNum As Long
Dim sHeader As String
Dim DOM As DOMDocument
Dim Node As IXMLDOMNode
'Exempel Header
sHeader = "My Header"
'Exempel DOM
Set DOM = New DOMDocument
Set Node = DOM.createNode(NODE_ELEMENT, "ROOT", "")
DOM.appendChild Node
'Skapar fil
FileNum = FreeFile
Open "C:\Test.txt" For Binary Access Write Lock Write As #FileNum
Put #FileNum, , sHeader
Put #FileNum, , DOM.xml
Close #FileNum
End Sub
</code>
Föresten, varför kallar du dig expert på VB 5/6?Sv: Skriva till textfil
Men din lösning, Hillkvist, borde ju funka ypperligt. Tack. (Resten tar jag via imail)
/S