/t är tabb
annars är det väl bara att exemepvlis använda <span> element <strong> osv som vanligt, tror de flesta word applikationer tolkar om HTML till word-format.
4 svar · 417 visningar · startad av mats47
Har fått ett script att fungera, få text in i ett word dokument
min fråga hur fskriver jag in olika tagar, fet still stor stil, tab ram mm
/n är ny rad
<script>
var w=new ActiveXObject('Word.Application');
var docText;
var obj;
if (w != null)
{
w.Visible = true;
w.Documents.Add();
w.Selection.TypeText("<%=text%>\n\n<%=text2%>");
w.Documents.SaveAs("g://aaa.doc");
w.Quit();
}
</script>
någon som vet något?
/t är tabb
annars är det väl bara att exemepvlis använda <span> element <strong> osv som vanligt, tror de flesta word applikationer tolkar om HTML till word-format.
Satt och testade exemplet lite och det går tydligen inte att trycka in html via TypeText. Men det går att göra det via clipboardet.
<div id="this">Här är <span style="color:green;">lite html</span>.</div>
<script type="text/javascript">
var w=new ActiveXObject('Word.Application');
if (w != null) {
w.Visible = true;
var d=w.Documents.Add();
var div=document.getElementById("this");
div.contentEditable="true";
var controlRange;
if (document.body.createControlRange) {
controlRange = document.body.createControlRange();
controlRange.addElement(div);
controlRange.execCommand("Copy");
}
div.contentEditable="false";
w.Selection.Paste();
d.SaveAs("g:\\aaa.doc");
w.Quit();
}
</script>
Tyvärr verkar addElement kräva att elementet ligger i dokumentet någonstanns, för att skapa elementet via script ( document.createElement(...) ) fungerar inte.
Lite mer att leka med i alla fall :)
document.createElement(...) returnerar väl ett objekt som du sedan kan lägg till med addElement(...)
Kommer inte ihåg exakt hur det fungerade men har för mig att det är något i den stilen.
Jo, det stämmer. Du kan till och med använda document.createElement och sedan lägga till det i dokumentet någonstanns, DÅ kan du nämligen sedan paste'a in det i word. Men om du bara skapar objektet utan att rendera det först i webbläsaren kan du det inte. Jag antar att det har med att göra att word inte tar emot html som sådan, utan snarare Rich-text som det även blir renderat som i webbläsaren (i och med att du kan kopiera från en webbsida och klistra in den formaterade texten i vilken ordbehandlare som hellst).