VB.Net Tutorial/Windows/Word — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
Admin (обсуждение | вклад) м (1 версия) |
(нет различий)
|
Текущая версия на 12:56, 26 мая 2010
Содержание
Create Word document and print
public class Test
public Shared Sub Main
Dim objWordApp As Word.Application
objWordApp = New Word.Application
Dim objDoc As New Word.Document
"Show the Word application window if checked.
objWordApp.Visible = IIf(chkShowWord.Checked, True, False)
"Create a new Word document and add some text to it.
objDoc = objWordApp.Documents.Add
With objDoc
.Range.InsertAfter("Printing with Word")
.Paragraphs.Item(1).Range.Font.Bold = True
.Paragraphs.Item(1).Range.Font.Size = 14
.Range.InsertParagraphAfter()
.Paragraphs.Item(2).Range.Font.Bold = False
.Paragraphs.Item(2).Range.Font.Size = 12
.Range.InsertAfter("This is the first line of the test printout")
.Range.InsertParagraphAfter()
.Range.InsertAfter("and this is the second line of the test printout")
Try
"Print the Word document.
.PrintOut(True, True)
Catch exc As Exception
Console.WriteLine(exc.Message)
End Try
End With
objWordApp.Documents.Close(Word.WdSaveOptions.wdDoNotSaveChanges)
objWordApp.Quit()
objWordApp = Nothing
End Sub
End class
Edit Word document
public class Test
public Shared Sub Main
Dim objWordApp As Word.Application
objWordApp = New Word.Application
Dim objWordApp As Word.Application
objWordApp = New Word.Application
Dim objDoc As Word.Document
"Show the Word application window if checked.
objWordApp.Visible = IIf(chkShowWord.Checked, True, False)
"Open an existing document.
objWordApp.Documents.Open("C:\Temp\Sample.doc")
objDoc = objWordApp.ActiveDocument
"Find and replace some text.
objDoc.Content.Find.Execute(FindText:="VB", _
ReplaceWith:="Visual Basic Express", _
Replace:=Word.WdReplace.wdReplaceAll)
While objDoc.Content.Find.Execute(FindText:=" ", _
Wrap:=Word.WdFindWrap.wdFindContinue)
objDoc.Content.Find.Execute(FindText:=" ", ReplaceWith:=" ", _
Replace:=Word.WdReplace.wdReplaceAll, _
Wrap:=Word.WdFindWrap.wdFindContinue)
End While
"Save and close the document.
objWordApp.Documents.Item(1).Save()
Console.WriteLine("Replaced all instances of "VB" with "Visual Basic Express" " & _
"and saved the document")
objWordApp.Documents.Close(Word.WdSaveOptions.wdDoNotSaveChanges)
objWordApp.Quit()
objWordApp = Nothing
objWordApp.Documents.Close(Word.WdSaveOptions.wdDoNotSaveChanges)
objWordApp.Quit()
objWordApp = Nothing
End Sub
End class
InsertAfter
public class Test
public Shared Sub Main
Dim objWordApp As Word.Application
objWordApp = New Word.Application
Dim objDoc As New Word.Document
Dim objRange As Word.Range
Dim strFileName As String
"Show the Word application window if checked.
objWordApp.Visible = IIf(chkShowWord.Checked, True, False)
"Create a new Word document and add some text to it.
objDoc = objWordApp.Documents.Add
With objDoc.Range
.InsertAfter("A ")
.InsertParagraphAfter()
.InsertAfter("A")
.InsertParagraphAfter()
.InsertAfter("A")
.InsertParagraphAfter()
.InsertParagraphAfter()
.InsertAfter("A")
End With
objRange = objDoc.Paragraphs.Item(1).Range
objRange.Font.Size = 14
objRange.Font.Bold = True
objRange.ParagraphFormat.Alignment = _
Word.WdParagraphAlignment.wdAlignParagraphCenter
objRange = objDoc.Paragraphs.Item(2).Range.Sentences.Item(2)
objRange.Italic = True
objRange = objDoc.Paragraphs.Item(3).Range.Words.Item(6)
objRange.Font.Bold = True
objRange = objDoc.Paragraphs.Item(5).Range.Words.Item(5)
objRange.Font.Bold = True
"Save the the document.
SaveFileDialog1.Filter = "Documents|*.doc"
SaveFileDialog1.ShowDialog()
strFileName = SaveFileDialog1.FileName
If strFileName <> "" Then
Try
objDoc.SaveAs(strFileName)
Catch exc As Exception
Console.WriteLine("Failed to save document." & vbCrLf & exc.Message)
End Try
End If
"Display summary information.
Console.WriteLine("The document contains " & objDoc.Paragraphs.Count & _
" paragraphs, " & vbCrLf & objDoc.Words.Count & _
" words, and " & objDoc.Characters.Count & " characters.")
objWordApp.Documents.Close(Word.WdSaveOptions.wdDoNotSaveChanges)
objWordApp.Quit()
objWordApp = Nothing
End Sub
End class
Type Text
public class Test
public Shared Sub Main
Dim objWordApp As Word.Application
objWordApp = New Word.Application
Dim objDoc As New Word.Document
Dim strText As String
Dim strFileName As String
"Show the Word application window if checked.
objWordApp.Visible = IIf(chkShowWord.Checked, True, False)
"Create a new Word document and add some text to it.
objDoc = objWordApp.Documents.Add
strText = "Text Formatting:"
With objWordApp.Selection
.Font.Size = objWordApp.Selection.Font.Size + 2
.Font.Bold = True
.TypeText(strText)
.Font.Size = objWordApp.Selection.Font.Size - 2
.Font.Bold = False
.TypeParagraph()
.Font.Color = Word.WdColor.wdColorDarkRed
.Font.Italic = False
.TypeText("This sentence will appear in red. ")
.TypeParagraph()
.Font.Color = Word.WdColor.wdColorBlack
.Font.Italic = True
.Font.Size = objWordApp.Selection.Font.Size + 2
.TypeText("Text color was reset to black, " & _
"but the font size was increased by two points.")
End With
"Save the the document.
SaveFileDialog1.Filter = "Documents|*.doc"
SaveFileDialog1.ShowDialog()
strFileName = SaveFileDialog1.FileName
If strFileName <> "" Then
Try
objDoc.SaveAs(strFileName)
Catch exc As Exception
Console.WriteLine("Failed to save document." & vbCrLf & exc.Message)
End Try
End If
"Display summary information.
Console.WriteLine("The document contains " & objDoc.Paragraphs.Count & " paragraphs, " & _
vbCrLf & objDoc.Words.Count & " words, and " & _
objDoc.Characters.Count & " characters.")
objWordApp.Documents.Close(Word.WdSaveOptions.wdDoNotSaveChanges)
objWordApp.Quit()
objWordApp = Nothing
End Sub
End class
Word Selection
public class Test
public Shared Sub Main
Dim objWord As New Word.Application
objWord.Visible = True
objWord.Documents.Add()
objWord.Selection.TypeText("This is text from a VB 2005 application.")
objWord = Nothing
End Sub
End Class
Word Spell Checker
Imports System.Windows.Forms
public class WordSpellChecker
public Shared Sub Main
Application.Run(New Form1)
End Sub
End class
Public Class Form1
Dim objWordApp As Word.Application
Dim objCorrectionsCollection As Word.SpellingSuggestions
Dim objSpellCollection As Word.ProofreadingErrors
Private Sub OpenWord()
objWordApp = New Word.Application
End Sub
Private Sub CloseWord()
objWordApp.Documents.Close(Word.WdSaveOptions.wdDoNotSaveChanges)
objWordApp.Quit()
objWordApp = Nothing
End Sub
Private Sub btnSpellCheckDoc_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSpellCheckDoc.Click
Dim objRange As Word.Range
Dim intWord As Integer
Dim strNewWord As String
Me.Text = "Starting Word ..."
Call OpenWord()
objWordApp.Documents.Add()
Me.Text = "Checking words..."
objRange = objWordApp.ActiveDocument.Range
objRange.InsertAfter(TextBox1.Text)
objSpellCollection = objRange.SpellingErrors
If objSpellCollection.Count > 0 Then
ListBox1.Items.Clear()
ListBox2.Items.Clear()
For intWord = 1 To objSpellCollection.Count
strNewWord = objSpellCollection.Item(intWord).Text
If ListBox1.FindStringExact(strNewWord) < 0 Then
ListBox1.Items.Add(strNewWord)
End If
Next
End If
Me.Text = "WordSpellChecker"
End Sub
Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
Call CloseWord()
End Sub
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
Dim intWord As Integer
objCorrectionsCollection = objWordApp.GetSpellingSuggestions(ListBox1.Text)
ListBox2.Items.Clear()
If objCorrectionsCollection.Count > 0 Then
For intWord = 1 To objCorrectionsCollection.Count
ListBox2.Items.Add(objCorrectionsCollection.Item(intWord).Name)
Next
Else
ListBox2.Items.Add("No suggestions!")
End If
End Sub
Private Sub btnReplaceWord_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnReplaceWord.Click
If ListBox1.SelectedIndex >= 0 And ListBox2.SelectedIndex >= 0 Then
TextBox1.Text = Replace(TextBox1.Text, _
ListBox1.SelectedItem, ListBox2.SelectedItem)
ListBox1.Items.Remove(ListBox1.SelectedIndex)
ListBox2.Items.Clear()
End If
End Sub
End Class
Partial Public Class Form1
Inherits System.Windows.Forms.Form
<System.Diagnostics.DebuggerNonUserCode()> _
Public Sub New()
MyBase.New()
"This call is required by the Windows Form Designer.
InitializeComponent()
End Sub
"Form overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
MyBase.Dispose(disposing)
End Sub
"Required by the Windows Form Designer
Private components As System.ruponentModel.IContainer
"NOTE: The following procedure is required by the Windows Form Designer
"It can be modified using the Windows Form Designer.
"Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.TextBox1 = New System.Windows.Forms.TextBox
Me.btnSpellCheckDoc = New System.Windows.Forms.Button
Me.btnReplaceWord = New System.Windows.Forms.Button
Me.ListBox1 = New System.Windows.Forms.ListBox
Me.ListBox2 = New System.Windows.Forms.ListBox
Me.Label1 = New System.Windows.Forms.Label
Me.Label2 = New System.Windows.Forms.Label
Me.SuspendLayout()
"
"TextBox1
"
Me.TextBox1.Location = New System.Drawing.Point(10, 9)
Me.TextBox1.Multiline = True
Me.TextBox1.Name = "TextBox1"
Me.TextBox1.Size = New System.Drawing.Size(352, 192)
Me.TextBox1.TabIndex = 0
Me.TextBox1.Text = "This is some example text that contains misspelled words. For example, Visual Bas" & _
"ci Espress."
"
"btnSpellCheckDoc
"
Me.btnSpellCheckDoc.Location = New System.Drawing.Point(369, 9)
Me.btnSpellCheckDoc.Name = "btnSpellCheckDoc"
Me.btnSpellCheckDoc.Size = New System.Drawing.Size(158, 23)
Me.btnSpellCheckDoc.TabIndex = 3
Me.btnSpellCheckDoc.Text = "SpellCheck Document"
"
"btnReplaceWord
"
Me.btnReplaceWord.Location = New System.Drawing.Point(369, 306)
Me.btnReplaceWord.Name = "btnReplaceWord"
Me.btnReplaceWord.Size = New System.Drawing.Size(158, 23)
Me.btnReplaceWord.TabIndex = 4
Me.btnReplaceWord.Text = "Replace Word"
"
"ListBox1
"
Me.ListBox1.FormattingEnabled = True
Me.ListBox1.Location = New System.Drawing.Point(10, 232)
Me.ListBox1.Margin = New System.Windows.Forms.Padding(3, 1, 3, 3)
Me.ListBox1.Name = "ListBox1"
Me.ListBox1.Size = New System.Drawing.Size(168, 95)
Me.ListBox1.TabIndex = 1
"
"ListBox2
"
Me.ListBox2.FormattingEnabled = True
Me.ListBox2.Location = New System.Drawing.Point(196, 232)
Me.ListBox2.Margin = New System.Windows.Forms.Padding(3, 1, 3, 3)
Me.ListBox2.Name = "ListBox2"
Me.ListBox2.Size = New System.Drawing.Size(166, 95)
Me.ListBox2.TabIndex = 2
"
"Label1
"
Me.Label1.AutoSize = True
Me.Label1.Location = New System.Drawing.Point(10, 217)
Me.Label1.Margin = New System.Windows.Forms.Padding(3, 3, 3, 0)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(94, 14)
Me.Label1.TabIndex = 5
Me.Label1.Text = "Misspelled words:"
"
"Label2
"
Me.Label2.AutoSize = True
Me.Label2.Location = New System.Drawing.Point(196, 217)
Me.Label2.Margin = New System.Windows.Forms.Padding(3, 3, 3, 0)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(94, 14)
Me.Label2.TabIndex = 6
Me.Label2.Text = "Alternative words:"
"
"Form1
"
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.ClientSize = New System.Drawing.Size(539, 342)
Me.Controls.Add(Me.Label2)
Me.Controls.Add(Me.Label1)
Me.Controls.Add(Me.ListBox2)
Me.Controls.Add(Me.ListBox1)
Me.Controls.Add(Me.btnReplaceWord)
Me.Controls.Add(Me.btnSpellCheckDoc)
Me.Controls.Add(Me.TextBox1)
Me.Name = "Form1"
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
Me.Text = "WordSpellChecker"
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents TextBox1 As System.Windows.Forms.TextBox
Friend WithEvents btnSpellCheckDoc As System.Windows.Forms.Button
Friend WithEvents btnReplaceWord As System.Windows.Forms.Button
Friend WithEvents ListBox1 As System.Windows.Forms.ListBox
Friend WithEvents ListBox2 As System.Windows.Forms.ListBox
Friend WithEvents Label1 As System.Windows.Forms.Label
Friend WithEvents Label2 As System.Windows.Forms.Label
End Class