Word 2003 XML
Jeg har det problem med word at jeg skulle "replace" ting rundt omkring i et dokument for så at sende det til en klient og jeg er så stødt på noget mærkeligt som jeg ønsker en løsning på...Det er fordi jeg har en "skabelon" Word 2003 XML fil som gjorde det nemmere for mig at "replace" ting i dokumentet men da jeg indlæser denne XML fil og så replacer tingene og derefter gemmer mister dokumentet billedet, billedet skulle være inkluderet som en reference så det er ikke fordi den burde miste de binære data når jeg køre mit program...
Ved ikke om det kunne laves bedre men er åben for forslag :)
Dette her er kilden til programmet
Dim XMLDoc As String
Dim XMLStream As StreamReader
Dim i As Integer
Dim tempstr As String = ""
Dim filestream As StreamReader
Dim readcontents As String
Dim textdelimiter As String
textdelimiter = "@"
filestream = File.OpenText("fil.dat")
filestream.ReadLine()
readcontents = filestream.ReadToEnd()
Dim splitout = Split(readcontents, textdelimiter)
If File.Exists("fil.xml") = True Then
XMLStream = New StreamReader("fil.xml")
XMLDoc = XMLStream.ReadToEnd
For i = 0 To 26 Step 1
If i = 7 And splitout(i) <> "" Then tempstr = " " Else tempstr = ""
XMLDoc = Replace(XMLDoc, "@" & (i + 1) & "@", splitout(i) & tempstr)
Next
tempstr = ""
For i = 30 To 78 Step 5
If splitout(i) <> "" And splitout(i + 1) <> "" And splitout(i + 2) <> "" And splitout(i + 3) <> "" And splitout(i + 4) <> "" Then
tempstr = tempstr & "<w:p wsp:rsidR=""003A697D"" wsp:rsidRPr=""003A697D"" wsp:rsidRDefault=""003A697D"" wsp:rsidP=""003A697D""><w:pPr><w:tabs><w:tab w:val=""left"" w:pos=""2835""/><w:tab w:val=""left"" w:pos=""6237""/><w:tab w:val=""left"" w:pos=""7921""/><w:tab w:val=""right"" w:pos=""10206""/></w:tabs></w:pPr><w:r><w:t>" & splitout(i) & "</w:t></w:r><w:r wsp:rsidRPr=""003A697D""><w:tab/></w:r><w:r wsp:rsidRPr=""003A697D""><w:tab/></w:r><w:r><w:t>" & splitout(i + 1) & "</w:t></w:r><w:r wsp:rsidRPr=""003A697D""><w:tab/></w:r><w:r><w:t>" & splitout(i + 2) & "</w:t></w:r><w:r wsp:rsidRPr=""003A697D""><w:tab/></w:r><w:r><w:t>" & splitout(i + 3) & "</w:t></w:r></w:p>"
End If
Next
XMLDoc = Replace(XMLDoc, "@LIST@", tempstr)
Dim hFile As StreamWriter
hFile = New StreamWriter("Output.xml")
hFile.Write(XMLDoc)
hFile.Close()
XMLStream.Close()
Else
Console.Write("Filen <<fil.xml>> findes ikke i samme bibliotek som programmet")
Console.ReadLine()
End If
filestream.Close()
XMLDoc = Nothing