Làm thế nào để tự động hoá Microsoft Word bằng cách sử dụng Visual Basic để tạo một tài liệu mới

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch máy của Microsoft chứ không phải do con người dịch. Microsoft cung cấp các bài viết do con người dịch và cả các bài viết do máy dịch để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng ngôn ngữ của bạn. Tuy nhiên, bài viết do máy dịch không phải lúc nào cũng hoàn hảo. Loại bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, giống như một người nước ngoài có thể mắc sai sót khi nói ngôn ngữ của bạn. Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra. Microsoft cũng thường xuyên cập nhật phần mềm dịch máy này.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này:313193
TÓM TẮT
Bài viết từng bước này mô tả cách tạo ra một mới tài liệu trong Word bằng cách sử dụng tự động hóa từ Visual Basic.

Mẫu mã

Mẫu mã trong bài viết này chứng tỏ làm thế nào để làm việc sau:
  • Chèn đoạn văn với văn bản và định dạng.
  • Duyệt và sửa đổi các phạm vi khác nhau trong vòng một tài liệu.
  • Chèn bảng, định dạng bảng và cư các bảng với dữ liệu.
  • Thêm một biểu đồ.
Để tạo một tài liệu Word mới bằng cách sử dụng tự động hóa từ trực quan Cơ bản, làm theo các bước sau:
  1. Trong Visual Basic, tạo ra một dự án mới của tiêu chuẩn EXE. Form1 được tạo ra theo mặc định.
  2. Trên các Dự án trình đơn, nhấp vàoTham khảo, bấm vào một trong các tùy chọn sau đây và bấm Ok:
    • Cho Office Word 2007, nhấp vào Microsoft Word 12,0 Đối tượng thư viện.
    • Đối với Word 2003, bấm vào Microsoft Word 11,0 Đối tượng thư viện.
    • Đối với Word 2002, bấm vào Microsoft Word 10,0 Thư viện đối tượng.
    • Đối với Word 2000, bấm vào Microsoft Word 9,0 Thư viện đối tượng.
  3. Thêm một điều khiển CommandButton Form1.
  4. Thêm mã sau vào các sự kiện bấm vào cho Command1:
        Dim oWord As Word.Application    Dim oDoc As Word.Document    Dim oTable As Word.Table    Dim oPara1 As Word.Paragraph, oPara2 As Word.Paragraph    Dim oPara3 As Word.Paragraph, oPara4 As Word.Paragraph    Dim oRng As Word.Range    Dim oShape As Word.InlineShape    Dim oChart As Object    Dim Pos as Double    'Start Word and open the document template.    Set oWord = CreateObject("Word.Application")    oWord.Visible = True    Set oDoc = oWord.Documents.Add        'Insert a paragraph at the beginning of the document.    Set oPara1 = oDoc.Content.Paragraphs.Add    oPara1.Range.Text = "Heading 1"    oPara1.Range.Font.Bold = True    oPara1.Format.SpaceAfter = 24    '24 pt spacing after paragraph.    oPara1.Range.InsertParagraphAfter        'Insert a paragraph at the end of the document.    '** \endofdoc is a predefined bookmark.    Set oPara2 = oDoc.Content.Paragraphs.Add(oDoc.Bookmarks("\endofdoc").Range)    oPara2.Range.Text = "Heading 2"    oPara2.Format.SpaceAfter = 6    oPara2.Range.InsertParagraphAfter        'Insert another paragraph.    Set oPara3 = oDoc.Content.Paragraphs.Add(oDoc.Bookmarks("\endofdoc").Range)    oPara3.Range.Text = "This is a sentence of normal text. Now here is a table:"    oPara3.Range.Font.Bold = False    oPara3.Format.SpaceAfter = 24    oPara3.Range.InsertParagraphAfter        'Insert a 3 x 5 table, fill it with data and make the first row    'bold,italic.    Dim r As Integer, c As Integer    Set oTable = oDoc.Tables.Add(oDoc.Bookmarks("\endofdoc").Range, 3, 5)    oTable.Range.ParagraphFormat.SpaceAfter = 6    For r = 1 To 3        For c = 1 To 5            oTable.Cell(r, c).Range.Text = "r" & r & "c" & c        Next    Next    oTable.Rows(1).Range.Font.Bold = True    oTable.Rows(1).Range.Font.Italic = True        'Add some text after the table.    'oTable.Range.InsertParagraphAfter    Set oPara4 = oDoc.Content.Paragraphs.Add(oDoc.Bookmarks("\endofdoc").Range)    oPara4.Range.InsertParagraphBefore    oPara4.Range.Text = "And here's another table:"    oPara4.Format.SpaceAfter = 24    oPara4.Range.InsertParagraphAfter        'Insert a 5 x 2 table, fill it with data and change the column widths.    Set oTable = oDoc.Tables.Add(oDoc.Bookmarks("\endofdoc").Range, 5, 2)    oTable.Range.ParagraphFormat.SpaceAfter = 6    For r = 1 To 5        For c = 1 To 2            oTable.Cell(r, c).Range.Text = "r" & r & "c" & c        Next    Next    oTable.Columns(1).Width = oWord.InchesToPoints(2)   'Change width of columns 1 & 2.    oTable.Columns(2).Width = oWord.InchesToPoints(3)        'Keep inserting text. When you get to 7 inches from top of the    'document, insert a hard page break.    Pos = oWord.InchesToPoints(7)    oDoc.Bookmarks("\endofdoc").Range.InsertParagraphAfter    Do        Set oRng = oDoc.Bookmarks("\endofdoc").Range        oRng.ParagraphFormat.SpaceAfter = 6        oRng.InsertAfter "A line of text"        oRng.InsertParagraphAfter    Loop While Pos >= oRng.Information(wdVerticalPositionRelativeToPage)    oRng.Collapse (wdCollapseEnd)    oRng.InsertBreak wdPageBreak    oRng.Collapse wdCollapseEnd    oRng.InsertAfter "We're now on page 2. Here's my chart:"    oRng.InsertParagraphAfter        'Insert a chart and change the chart.    Set oShape = oDoc.Bookmarks("\endofdoc").Range.InlineShapes.AddOLEObject( _        ClassType:="MSGraph.Chart.8", FileName _        :="", LinkToFile:=False, DisplayAsIcon:=False)    Set oChart = oShape.OLEFormat.Object    oChart.charttype = 4 'xlLine = 4    oChart.Application.Update    oChart.Application.Quit    '... If desired, you can proceed from here using the Microsoft Graph     'Object model on the oChart object to make additional changes to the    'chart.    oShape.Width = oWord.InchesToPoints(6.25)    oShape.Height = oWord.InchesToPoints(3.57)        'Add text after the chart.    Set oRng = oDoc.Bookmarks("\endofdoc").Range    oRng.InsertParagraphAfter    oRng.InsertAfter "THE END."    'All done. Unload this form.    Unload Me					
  5. Nhấn F5 để chạy chương trình và sau đó nhấp vào Command1.
Sau khi mã hoàn thành, kiểm tra các tài liệu đã được tạo ra Tặng em. Tài liệu chứa hai trang định dạng đoạn, bảng, và một bảng xếp hạng.

Sử dụng một mẫu

Nếu bạn đang sử dụng tự động hóa để xây dựng tài liệu mà là tất cả trong một định dạng phổ biến, bạn có thể hưởng lợi từ bắt đầu quá trình với một tài liệu mới đó dựa trên một mẫu preformatted. Sử dụng một mẫu với lời của bạn Khách hàng tự động hóa có hai lợi thế đáng kể trong việc xây dựng một tài liệu từ không có gì:
  • Bạn có thể có kiểm soát lớn hơn các định dạng và vị trí của các đối tượng trong tài liệu của bạn.
  • Bạn có thể xây dựng tài liệu của bạn với mã ít hơn.
Bằng cách sử dụng một mẫu, bạn có thể tinh chỉnh vị trí của bảng, đoạn văn, và các đối tượng trong tài liệu, cũng như bao gồm định dạng trên các đối tượng. Bằng cách sử dụng tự động hóa, bạn có thể tạo một tài liệu mới dựa trên mẫu của bạn với mã như sau:
oWord.Documents.Add "<Path to your template>\MyTemplate.dot"				
Trong mẫu của bạn, bạn có thể xác định trang đánh dấu để tự động hóa của bạn khách hàng có thể điền vào văn bản biến tại một địa điểm cụ thể trong tài liệu, như sau:
oDoc.Bookmarks("MyBookmark").Range.Text = "Some Text Here"				
Một lợi thế để sử dụng một mẫu là bạn có thể tạo và cất giữ định dạng phong cách mà bạn muốn áp dụng tại thời gian chạy, như sau:
oDoc.Bookmarks("MyBookmark").Range.Style = "MyStyle"				
- hay -
oWord.Selection.Style = "MyStyle"				
THAM KHẢO
Để biết thêm chi tiết, nhấp vào số bài viết dưới đây để xem các bài viết trong cơ sở kiến thức Microsoft:
220607 Làm thế nào để tự động hoá Microsoft Word thực hiện Mail Merge từ Visual Basic
285332 Làm thế nào để tự động hoá Word 2002 với Visual Basic để tạo ra một Mail Merge
285333 Thông báo: Word 2002 MailMerge sự kiện Code Demonstration
Để biết thêm chi tiết, xem Microsoft sau đây Các trang Web của nhà phát triển mạng (MSDN):
Văn phòng Microsoft phát triển với Visual Studio
http://msdn2.Microsoft.com/en-US/Library/aa188489 (office.10) .aspx
(c) Microsoft Corporation 2001, tất cả các quyền. Những đóng góp của Lori B. Turner, Microsoft Corporation.

WD2007

Cảnh báo: Bài viết này được dịch tự động

Thuộc tính

ID Bài viết: 313193 - Xem lại Lần cuối: 08/27/2011 18:19:00 - Bản sửa đổi: 2.0

Microsoft Visual Basic 6.0 Professional Edition, Microsoft Office Word 2007, Microsoft Word 2002 Standard Edition, Microsoft Word 2000 Standard Edition

  • kbexpertiseinter kbautomation kbhowtomaster kbmt KB313193 KbMtvi
Phản hồi