Word 操作类

PublicClassWordOpLib
PrivateoWordApplicAsWord.Application
PrivateoDocumentAsWord.Document
PrivateoRangeAsWord.Range
PrivateoSelectionAsWord.Selection
PublicSubNew()
'激活comword接口
oWordApplic=NewWord.Application
oWordApplic.Visible
=True
EndSub

'设置选定文本
PublicSubSetRange(ByValparaAsInteger)
oRange
=oDocument.Paragraphs(para).Range
oRange.Select()
EndSub

PublicSubSetRange(ByValparaAsInteger,ByValsentAsInteger)
oRange
=oDocument.Paragraphs(para).Range.Sentences(sent)
oRange.Select()
EndSub

PublicSubSetRange(ByValstartpointAsInteger,ByValendpointAsInteger,ByValflagAsBoolean)
Ifflag=TrueThen
oRange
=oDocument.Range(startpoint,endpoint)
oRange.Select()
Else

EndIf
EndSub


'生成空的新文档
PublicSubNewDocument()
Dimmissing=System.Reflection.Missing.Value
DimisVisibleAsBoolean=True
oDocument
=oWordApplic.Documents.Add(missing,missing,missing,missing)
oDocument.Activate()
EndSub

'使用模板生成新文档
PublicSubNewDocWithModel(ByValFileNameAsString)
Dimmissing=System.Reflection.Missing.Value
DimisVisibleAsBoolean=True
DimstrNameAsString
strName
=FileName

oDocument
=oWordApplic.Documents.Add(strName,missing,missing,isVisible)
oDocument.Activate()
EndSub

'打开已有文档
PublicSubOpenFile(ByValFileNameAsString)
DimstrNameAsString
DimisReadOnlyAsBoolean
DimisVisibleAsBoolean
Dimmissing=System.Reflection.Missing.Value

strName
=FileName
isReadOnly
=False
isVisible
=True

oDocument
=oWordApplic.Documents.Open(strName,missing,isReadOnly,missing,missing,missing,missing,missing,missing,missing,missing,isVisible,missing,missing,missing,missing)
oDocument.Activate()

EndSub

PublicSubOpenFile(ByValFileNameAsString,ByValisReadOnlyAsBoolean)
DimstrNameAsString
DimisVisibleAsBoolean
Dimmissing=System.Reflection.Missing.Value

strName
=FileName
isVisible
=True

oDocument
=oWordApplic.Documents.Open(strName,missing,isReadOnly,missing,missing,missing,missing,missing,missing,missing,missing,isVisible,missing,missing,missing,missing)
oDocument.Activate()
EndSub

'退出Word
PublicSubQuit()
Dimmissing=System.Reflection.Missing.Value
oWordApplic.Quit()
System.Runtime.InteropServices.Marshal.ReleaseComObject(oWordApplic)
oWordApplic
=Nothing
EndSub

'关闭所有打开的文档
PublicSubCloseAllDocuments()
oWordApplic.Documents.Close(Word.WdSaveOptions.wdDoNotSaveChanges)
EndSub

'关闭当前的文档
PublicSubCloseCurrentDocument()
oDocument.Close(Word.WdSaveOptions.wdDoNotSaveChanges)
EndSub

'保存当前文档
PublicSubSave()
Try
oDocument.Save()
Catch
MsgBox(Err.Description)
EndTry
EndSub

'另存为文档
PublicSubSaveAs(ByValFileNameAsString)
DimstrNameAsString
Dimmissing=System.Reflection.Missing.Value

strName
=FileName

oDocument.SaveAs(strName,missing,missing,missing,missing,missing,missing,missing,missing,missing,missing,missing,missing,missing,missing,missing)
EndSub

'保存为Html文件
PublicSubSaveAsHtml(ByValFileNameAsString)
Dimmissing=System.Reflection.Missing.Value
DimstrNameAsString

strName
=FileName
Dimformat=CInt(Word.WdSaveFormat.wdFormatHTML)

oDocument.SaveAs(strName,
format,missing,missing,missing,missing,missing,missing,missing,missing,missing,missing,missing,missing,missing,missing)
EndSub

'插入文本
PublicSubInsertText(ByValtextAsString)
oWordApplic.Selection.TypeText(text)
EndSub

'插入一个空行
PublicSubInsertLineBreak()
oWordApplic.Selection.TypeParagraph()
EndSub

'插入指定行数的空行
PublicSubInsertLineBreak(ByVallinesAsInteger)
DimiAsInteger
Fori=1Tolines
oWordApplic.Selection.TypeParagraph()
Next
EndSub

'插入表格
PublicSubInsertTable(ByReftableAsDataTable)
DimoTableAsWord.Table
DimrowIndex,colIndex,NumRows,NumColumnsAsInteger
rowIndex
=1
colIndex
=0

NumRows
=table.Rows.Count+1
NumColumns
=table.Columns.Count
oTable
=oDocument.Tables.Add(oWordApplic.Selection.Range(),NumRows,NumColumns)


'初始化列
DimRowAsDataRow
DimColAsDataColumn
ForEachColIntable.Columns
colIndex
=colIndex+1
oTable.Cell(
1,colIndex).Range.InsertAfter(Col.ColumnName)
Next

'将行添入表格
ForEachRowIntable.Rows
rowIndex
=rowIndex+1
colIndex
=0
ForEachColIntable.Columns
colIndex
=colIndex+1
oTable.Cell(rowIndex,colIndex).Range.InsertAfter(Row(Col.ColumnName))
Next
Next
oTable.AllowAutoFit
=True
oTable.ApplyStyleFirstColumn
=True
oTable.ApplyStyleHeadingRows
=True
EndSub

'设置对齐
PublicSubSetAlignment(ByValstrTypeAsString)
SelectCasestrType
Case"center"
oWordApplic.Selection.ParagraphFormat.Alignment
=Word.WdParagraphAlignment.wdAlignParagraphCenter
Case"left"
oWordApplic.Selection.ParagraphFormat.Alignment
=Word.WdParagraphAlignment.wdAlignParagraphLeft
Case"right"
oWordApplic.Selection.ParagraphFormat.Alignment
=Word.WdParagraphAlignment.wdAlignParagraphRight
Case"justify"
oWordApplic.Selection.ParagraphFormat.Alignment
=Word.WdParagraphAlignment.wdAlignParagraphJustify
EndSelect
EndSub

'设置字体
PublicSubSetStyle(ByValstrFontAsString)
SelectCasestrFont
Case"bold"
oWordApplic.Selection.Font.Bold
=1
Case"italic"
oWordApplic.Selection.Font.Italic
=1
Case"underlined"
oWordApplic.Selection.Font.Subscript
=1
EndSelect
EndSub

'取消字体风格
PublicSubDissableStyle()
oWordApplic.Selection.Font.Bold
=0
oWordApplic.Selection.Font.Italic
=0
oWordApplic.Selection.Font.Subscript
=0
EndSub

'设置字体字号
PublicSubSetFontSize(ByValnSizeAsInteger)
oWordApplic.Selection.Font.Size
=nSize
EndSub

'跳过本页
PublicSubInsertPageBreak()
DimpBreakAsInteger
pBreak
=CInt(Word.WdBreakType.wdPageBreak)
oWordApplic.Selection.InsertBreak(pBreak)
EndSub

'转到书签
PublicSubGotoBookMark(ByValstrBookMarkAsString)
Dimmissing=System.Reflection.Missing.Value
DimBookMark=CInt(Word.WdGoToItem.wdGoToBookmark)
oWordApplic.Selection.GoTo(BookMark,missing,missing,strBookMark)
EndSub

'判断书签是否存在
PublicFunctionBookMarkExist(ByValstrBookMarkAsString)AsBoolean
DimExistAsBoolean
Exist
=oDocument.Bookmarks.Exists(strBookMark)
ReturnExist
EndFunction

'转到文档结尾
PublicSubGotoTheEnd()
Dimmissing=System.Reflection.Missing.Value
Dimunit=Word.WdUnits.wdStory
oWordApplic.Selection.EndKey(unit,missing)
EndSub

'转到文档开头
PublicSubGotoTheBegining()
Dimmissing=System.Reflection.Missing.Value
Dimunit=Word.WdUnits.wdStory
oWordApplic.Selection.HomeKey(unit,missing)
EndSub

'转到表格
PublicSubGotoTheTable(ByValntableAsInteger)
'Dimmissing=System.Reflection.Missing.Value
'Dimwhat=Word.WdGoToItem.wdGoToTable
'Dimwhich=Word.WdGoToDirection.wdGoToFirst
'Dimcount=ntable

'oWordApplic.Selection.GoTo(what,which,count,missing)
'oWordApplic.Selection.ClearFormatting()

'oWordApplic.Selection.Text=""
oRange=oDocument.Tables(ntable).Cell(1,1).Range
oRange.Select()
EndSub

'转到表格的某个单元格
PublicSubGotoTableCell(ByValntableAsInteger,ByValnRowAsInteger,ByValnColumnAsInteger)
oRange
=oDocument.Tables(ntable).Cell(nRow,nColumn).Range
oRange.Select()
EndSub

'表格中转到右面的单元格
PublicSubGotoRightCell()
Dimmissing=System.Reflection.Missing.Value
Dimdirection=Word.WdUnits.wdCell
oWordApplic.Selection.MoveRight(direction,missing,missing)
EndSub

'表格中转到左面的单元格
PublicSubGotoLeftCell()
Dimmissing=System.Reflection.Missing.Value
Dimdirection=Word.WdUnits.wdCell
oWordApplic.Selection.MoveLeft(direction,missing,missing)
EndSub

'表格中转到下面的单元格
PublicSubGotoDownCell()
Dimmissing=System.Reflection.Missing.Value
Dimdirection=Word.WdUnits.wdCell
oWordApplic.Selection.MoveDown(direction,missing,missing)
EndSub

'表格中转到上面的单元格
PublicSubGotoUpCell()
Dimmissing=System.Reflection.Missing.Value
Dimdirection=Word.WdUnits.wdCell
oWordApplic.Selection.MoveUp(direction,missing,missing)
EndSub

'插入图片
PublicSubInsertPic(ByValFileNameAsString)
Dimmissing=System.Reflection.Missing.Value
oWordApplic.Selection.InlineShapes.AddPicture(FileName,
False,True,missing)
EndSub


EndClass

posted @ 2006-05-24 22:50  BigKiteasdasd  阅读(856)  评论(0编辑  收藏  举报