
Public Class vbwordappClass vbwordapp
Private oWordApplic As word.ApplicationClass
Private oDoc As word.Document
Public Sub vbwordapp()Sub vbwordapp()
'激活com word接口
oWordApplic = New Word.ApplicationClass

End Sub
' Open a file (the file must exists) and activate it
Public Sub open()Sub open(ByVal strFilename As String)
Dim filename As String
Dim onlyread As Boolean
Dim isvisible As Boolean
Dim missing
filename = strFilename
onlyread = False
isvisible = True
missing = System.Reflection.Missing.Value
oDoc = oWordApplic.Documents.Open(filename, missing, onlyread, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing)
oDoc.Activate()
End Sub
'打开一个文档
Public Sub open()Sub open()
Dim missing
missing = System.Reflection.Missing.Value
oDoc = oWordApplic.Documents.Add(missing, missing, missing, missing)
oDoc.Activate()
End Sub

Public Sub quit()Sub quit()
Dim missing
missing = System.Reflection.Missing.Value
oWordApplic.Quit()
System.Runtime.InteropServices.Marshal.ReleaseComObject(oWordApplic)
oWordApplic = Nothing
End Sub

Public Sub releaseword()Sub releaseword(ByVal strfilename As String)
Dim filename As String
Dim onlyread As Boolean
Dim isvisible As Boolean
Dim missing
filename = strfilename
onlyread = False
isvisible = True
missing = System.Reflection.Missing.Value
oWordApplic.Documents.Close()
End Sub

Public Sub save()Sub save()
oDoc.Save()
End Sub

Public Sub saveas()Sub saveas(ByVal strfilename As String)
Dim missing
Dim filename As String
missing = System.Reflection.Missing.Value
filename = strfilename
oDoc.SaveAs(filename, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing)

End Sub

Public Sub saveashtml()Sub saveashtml(ByVal strfilename As String)
Dim missing
missing = System.Reflection.Missing.Value
Dim filename As String
filename = strfilename
Dim format
format = CInt(Word.WdSaveFormat.wdFormatHTML)
oDoc.SaveAs(filename, format, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing)

End Sub

Public Sub inserttext()Sub inserttext(ByVal strtext)
oWordApplic.Selection.TypeText(strtext)
End Sub

Public Sub insertlinebreak()Sub insertlinebreak()
oWordApplic.Selection.TypeParagraph()
End Sub

Public Sub insertlinebreak()Sub insertlinebreak(ByVal nline As Integer)
Dim i
For i = 1 To nline
oWordApplic.Selection.TypeParagraph()
Next
End Sub

Public Sub inserttable()Sub inserttable(ByVal table As DataTable)
Dim oTable As Word.Table
Dim rowIndex, colIndex As Integer
rowIndex = 1
colIndex = 0
oTable = oWordApplic.Selection.Tables.Add(oWordApplic.Selection.Range(), NumRows:=table.Rows.Count + 1, NumColumns:=table.Columns.Count)
'将所得到的表的列名,赋值给单元格
Dim Col As DataColumn
Dim Row As DataRow
For Each Col In table.Columns
colIndex = colIndex + 1
oTable.Cell(1, colIndex).Range.InsertAfter(Col.ColumnName)
Next
'得到的表所有行,赋值给单元格
For Each Row In table.Rows
rowIndex = rowIndex + 1
colIndex = 0
For Each Col In table.Columns
colIndex = colIndex + 1
oTable.Cell(rowIndex, colIndex).Range.InsertAfter(Row(Col.ColumnName))
Next
Next
oTable.AllowAutoFit = True
oTable.ApplyStyleFirstColumn = True
oTable.ApplyStyleHeadingRows = True
End Sub


Public Sub setalignment()Sub setalignment(ByVal strtype As String)
Select Case strtype
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
End Select
End Sub

Public Sub setfont()Sub setfont(ByVal strtype As String)
Select Case strtype
Case "bold"
oWordApplic.Selection.Font.Bold = 1
Case "italic"
oWordApplic.Selection.Font.Italic = 1
Case "underlined"
oWordApplic.Selection.Font.Subscript = 0
End Select
End Sub
' disable all the style 
Public Sub SetFont()Sub SetFont()
oWordApplic.Selection.Font.Bold = 0
oWordApplic.Selection.Font.Italic = 0
oWordApplic.Selection.Font.Subscript = 0
End Sub

Public Sub SetFontName()Sub SetFontName(ByVal strType As String)
oWordApplic.Selection.Font.Name = strType
End Sub

Public Sub SetFontSize()Sub SetFontSize(ByVal nSize As Integer)
oWordApplic.Selection.Font.Size = nSize
End Sub


Public Sub insertpagebreak()Sub insertpagebreak()
Dim pBreak As Integer
pBreak = CInt(Word.WdBreakType.wdPageBreak)
oWordApplic.Selection.InsertBreak(pBreak)

End Sub
' Go to a predefined bookmark, if the bookmark doesn't exists the application will raise an error

Public Sub GotoBookMark()Sub GotoBookMark(ByVal strBookMarkName As String)
Dim missing
missing = System.Reflection.Missing.Value
Dim Bookmark
Bookmark = CInt(Word.WdGoToItem.wdGoToBookmark)
Dim namebookmark
namebookmark = strBookMarkName
oWordApplic.Selection.GoTo(Bookmark, missing, missing, namebookmark)
End Sub

Public Function BookmarkExist()Function BookmarkExist(ByVal strBookMarkName As String) As Boolean
Dim exist As Boolean
exist = oDoc.Bookmarks.Exists(strBookMarkName)
Return exist
End Function

Public Sub GoToTheEnd()Sub GoToTheEnd()
Dim missing, unit
missing = System.Reflection.Missing.Value
unit = Word.WdUnits.wdStory
oWordApplic.Selection.EndKey(unit, missing)
End Sub

Public Sub GoToTheBeginning()Sub GoToTheBeginning()
Dim missing, unit
missing = System.Reflection.Missing.Value
unit = Word.WdUnits.wdStory
oWordApplic.Selection.HomeKey(unit, missing)
End Sub

Public Sub GoToTheTable()Sub GoToTheTable(ByVal ntable As Integer)

Dim missing, what, which, count
missing = System.Reflection.Missing.Value
what = Word.WdUnits.wdTable
which = Word.WdGoToDirection.wdGoToAbsolute
count = 1
oWordApplic.Selection.GoTo(what, which, 1, missing)
oWordApplic.Selection.Find.ClearFormatting()
oWordApplic.Selection.Text = ""
End Sub


Public Sub GoToRightCell()Sub GoToRightCell()
Dim missing, direction
missing = System.Reflection.Missing.Value
direction = Word.WdUnits.wdCell
oWordApplic.Selection.MoveRight(direction, missing, missing)
End Sub


Public Sub GoToLeftCell()Sub GoToLeftCell()

Dim missing, direction
missing = System.Reflection.Missing.Value
direction = Word.WdUnits.wdCell
oWordApplic.Selection.MoveLeft(direction, missing, missing)
End Sub


Public Sub GoToDownCell()Sub GoToDownCell()
Dim missing, direction
missing = System.Reflection.Missing.Value
direction = Word.WdUnits.wdLine
oWordApplic.Selection.MoveDown(direction, missing, missing)
End Sub

Public Sub GoToUpCell()Sub GoToUpCell()
Dim missing, direction
missing = System.Reflection.Missing.Value
direction = Word.WdUnits.wdLine
oWordApplic.Selection.MoveUp(direction, missing, missing)
End Sub
' this function doesn't work
Public Sub InsertPageNumber()Sub InsertPageNumber(ByVal strType As String, ByVal bHeader As Boolean)
Dim missing, alignment, bfirstpage, bf
missing = System.Reflection.Missing.Value
bfirstpage = False
bf = True
Select Case strType
Case "Center"
alignment = Word.WdPageNumberAlignment.wdAlignPageNumberCenter
oWordApplic.Selection.HeaderFooter.PageNumbers.Item(1).Alignment = Word.WdPageNumberAlignment.wdAlignPageNumberCenter
Case "Right"
alignment = Word.WdPageNumberAlignment.wdAlignPageNumberRight
oWordApplic.Selection.HeaderFooter.PageNumbers.Item(1).Alignment = Word.WdPageNumberAlignment.wdAlignPageNumberRight
Case "Left"
alignment = Word.WdPageNumberAlignment.wdAlignPageNumberLeft
oWordApplic.Selection.HeaderFooter.PageNumbers.Add(alignment, bfirstpage)
End Select
End Sub
Public Sub insertpic()Sub insertpic(ByVal filename As String)
Dim missing
missing = System.Reflection.Missing.Value
oWordApplic.Selection.InlineShapes.AddPicture(filename, False, True, missing)
End Sub
End Class


本文介绍了一个用于操作Microsoft Word文档的类库,包括文档的创建、打开、保存、样式设置及表格插入等功能。
4690

被折叠的 条评论
为什么被折叠?



