Word 自动化 - 文本,然后是 table,然后是更多文本
Word Automation - Text, then table, then more text
我需要你的帮助,
我正在尝试输入文本,然后是 table,然后是更多文本,但是,当前输出是 table、文本,然后是更多文本。
问题:
期望的输出:
有问题的代码:
function test() {
var wordApp = new ActiveXObject("Word.Application")
var doc = wordApp.Documents.Add()
var sel = wordApp.Selection
sel.TypeText("Text Content1")
doc.PageSetup.LeftMargin = CentimetersToPoints(0.75)
doc.PageSetup.RightMargin = CentimetersToPoints(0.75)
doc.Tables.Add(Range=doc.Range(0, 0), numrows=1, numcolumns=10)
doc.Tables(1).Range.Font.Size = 9
doc.Tables(1).Range.Font.Name = 'Arial'
doc.Tables(1).Rows(1).Range.Font.Bold = true
doc.Tables(1).Cell(1,1).Range.Text = '#'
doc.Tables(1).Cell(1,2).Range.Text = 'File Number'
doc.Tables(1).Cell(1,3).Range.Text = 'Subject'
doc.Tables(1).Cell(1,4).Range.Text = 'Branch'
doc.Tables(1).Cell(1,5).Range.Text = 'Division'
doc.Tables(1).Cell(1,6).Range.Text = 'Related Documents'
doc.Tables(1).Cell(1,7).Range.Text = 'Current Status'
doc.Tables(1).Cell(1,8).Range.Text = 'Assigned To'
doc.Tables(1).Cell(1,9).Range.Text = 'Action Required'
doc.Tables(1).Cell(1,10).Range.Text = 'Last Updated'
doc.Tables(1).AutoFitBehavior(1)
sel.TypeParagraph()
sel.TypeText("Text Content2")
wordApp.Visible = true
wordApp.Activate()
wordApp.WindowState = 1
}
您在 Range(0,0)
(文档的开头)明确插入了 table,因此它出现在两个文本段落的上方。尝试:
doc.Tables.Add(sel.Range, numrows=1, numcolumns=10)
然后,在 AutoFit
之后,您可能需要这样做:
doc.Range(doc.Range.End-1).Select()
sel.TypeParagraph()
sel.TypeText("TextContent2")
我需要你的帮助,
我正在尝试输入文本,然后是 table,然后是更多文本,但是,当前输出是 table、文本,然后是更多文本。
问题:
期望的输出:
有问题的代码:
function test() {
var wordApp = new ActiveXObject("Word.Application")
var doc = wordApp.Documents.Add()
var sel = wordApp.Selection
sel.TypeText("Text Content1")
doc.PageSetup.LeftMargin = CentimetersToPoints(0.75)
doc.PageSetup.RightMargin = CentimetersToPoints(0.75)
doc.Tables.Add(Range=doc.Range(0, 0), numrows=1, numcolumns=10)
doc.Tables(1).Range.Font.Size = 9
doc.Tables(1).Range.Font.Name = 'Arial'
doc.Tables(1).Rows(1).Range.Font.Bold = true
doc.Tables(1).Cell(1,1).Range.Text = '#'
doc.Tables(1).Cell(1,2).Range.Text = 'File Number'
doc.Tables(1).Cell(1,3).Range.Text = 'Subject'
doc.Tables(1).Cell(1,4).Range.Text = 'Branch'
doc.Tables(1).Cell(1,5).Range.Text = 'Division'
doc.Tables(1).Cell(1,6).Range.Text = 'Related Documents'
doc.Tables(1).Cell(1,7).Range.Text = 'Current Status'
doc.Tables(1).Cell(1,8).Range.Text = 'Assigned To'
doc.Tables(1).Cell(1,9).Range.Text = 'Action Required'
doc.Tables(1).Cell(1,10).Range.Text = 'Last Updated'
doc.Tables(1).AutoFitBehavior(1)
sel.TypeParagraph()
sel.TypeText("Text Content2")
wordApp.Visible = true
wordApp.Activate()
wordApp.WindowState = 1
}
您在 Range(0,0)
(文档的开头)明确插入了 table,因此它出现在两个文本段落的上方。尝试:
doc.Tables.Add(sel.Range, numrows=1, numcolumns=10)
然后,在 AutoFit
之后,您可能需要这样做:
doc.Range(doc.Range.End-1).Select()
sel.TypeParagraph()
sel.TypeText("TextContent2")