搜索的时候,才有Range的find,如果有结果,再判断selection的font是腊仿否是态亮Arial-BoldMT。
基本上,你如果能在Word里帆局宽面用宏实现这个要求,那么外部程序的调用,只是一个automation的问题。因此可以参考word VBA的控制部分。
前提:导入COM库:Microsoft word 11.0 Object Library.
引用里面就增加了:
创建新Word
object oMissing = System.Reflection.Missing.Value
Word._Application oWord
Word._Document oDoc
oWord = new Word.Application()
oWord.Visible = true
oDoc = oWord.Documents.Add(ref oMissing, ref oMissing,
ref oMissing, ref oMissing)
打开文档:
object oMissing = System.Reflection.Missing.Value
Word._Application oWord
Word._Document oDoc
oWord = new Word.Application()
oWord.Visible = true
object fileName = @"E:CCCXCXXTestDoc.doc"
oDoc = oWord.Documents.Open(ref fileName,
ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing)
导入模板
object oMissing = System.Reflection.Missing.Value
Word._Application oWord
Word._Document oDoc
oWord = new Word.Application()
oWord.Visible = true
object fileName = @"E:XXXCCXTest.doc"
oDoc = oWord.Documents.Add(ref fileName, ref oMissing,
ref oMissing, ref oMissing)
.添加新表
object oMissing = System.Reflection.Missing.Value
Word._Application oWord
Word._Document oDoc
oWord = new Word.Application()
oWord.Visible = true
oDoc = oWord.Documents.Add(ref oMissing, ref oMissing,
ref oMissing, ref oMissing)
object start = 0
object end = 0
Word.Range tableLocation = oDoc.Range(ref start, ref end)
oDoc.Tables.Add(tableLocation, 3, 4, ref oMissing, ref oMissing)
.表插入行
object oMissing = System.Reflection.Missing.Value
Word._Application oWord
Word._Document oDoc
oWord = new Word.Application()
oWord.Visible = true
oDoc = oWord.Documents.Add(ref oMissing, ref oMissing,
ref oMissing, ref oMissing)
object start = 0
object end = 0
Word.Range tableLocation = oDoc.Range(ref start, ref end)
oDoc.Tables.Add(tableLocation, 3, 4, ref oMissing, ref oMissing)
Word.Table newTable = oDoc.Tables[1]
object beforeRow = newTable.Rows[1]
newTable.Rows.Add(ref beforeRow)
.单元格合并
object oMissing = System.Reflection.Missing.Value
Word._Application oWord
Word._Document oDoc
oWord = new Word.Application()
oWord.Visible = true
oDoc = oWord.Documents.Add(ref oMissing, ref oMissing,
ref oMissing, ref oMissing)
object start = 0
object end = 0
Word.Range tableLocation = oDoc.Range(ref start, ref end)
oDoc.Tables.Add(tableLocation, 3, 4, ref oMissing, ref oMissing)
Word.Table newTable = oDoc.Tables[1]
object beforeRow = newTable.Rows[1]
newTable.Rows.Add(ref beforeRow)
Word.Cell cell = newTable.Cell(1, 1)
cell.Merge(newTable.Cell(1, 2))
.单元格分离
object oMissing = System.Reflection.Missing.Value
Word._Application oWord
Word._Document oDoc
oWord = new Word.Application()
oWord.Visible = true
oDoc = oWord.Documents.Add(ref oMissing,
ref oMissing, ref oMissing)
object start = 0
object end = 0
Word.Range tableLocation = oDoc.Range(ref start, ref end)
oDoc.Tables.Add(tableLocation, 3, 4, ref oMissing, ref oMissing)
Word.Table newTable = oDoc.Tables[1]
object beforeRow = newTable.Rows[1]
newTable.Rows.Add(ref beforeRow)
Word.Cell cell = newTable.Cell(1, 1)
cell.Merge(newTable.Cell(1, 2))
object Rownum = 2
object Columnnum = 2
cell.Split(ref Rownum, ref Columnnum)
通过段落控制插入
object oMissing = System.Reflection.Missing.Value
object oEndOfDoc = "\endofdoc"/**//* endofdoc is a predefined bookmark */
//Start Word and create a new document.
Word._Application oWord
Word._Document oDoc
oWord = new Word.Application()
oWord.Visible = true
oDoc = oWord.Documents.Add(ref oMissing, ref oMissing,
ref oMissing, ref oMissing)
//Insert a paragraph at the beginning of the document.
Word.Paragraph oPara1
oPara1 = oDoc.Content.Paragraphs.Add(ref oMissing)
oPara1.Range.Text = "Heading 1"
oPara1.Range.Font.Bold = 1
oPara1.Format.SpaceAfter = 24 //24 pt spacing after paragraph.
oPara1.Range.InsertParagraphAfter()
C#,java,VB,VC都搜答逗可以,脚本语言应该也行,只要在程序中引入Word中的office可编程组件,就可使用Word中的各种功能函数。如果不了解的话,可以用举配VBA将Word *** 作录制成宏,然后查看VBA代码,结合VSTO生世卖成Word文档
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)