• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

[Net] Lập trình Microsoft Office Word với VB.Net

Các bài viết hướng dẫn về Visual Basic .NET và C#

Điều hành viên: tungcan5diop, QUANITGROBEST

Hình đại diện của người dùng
anhtuyenbk
Guru
Guru
Bài viết: 1311
Ngày tham gia: T.Năm 22/09/2005 4:12 pm
Đến từ: Một nơi chừa từng biết, chưa từng nghe, chưa từng thấy
Been thanked: 38 time

[Net] Lập trình Microsoft Office Word với VB.Net

Gửi bàigửi bởi anhtuyenbk » T.Ba 29/04/2008 9:38 pm

Tên bài viết: Lập trình Microsoft Office Word với VB.Net
Tác giả: Nguyễn Anh Tuyên
Cấp độ bài viết: Above Normal
Tóm tắt: Lập trình Microsoft Office Word với VB.Net


Lập trình Microsoft Office Word với VB.Net

Trong quá trình viết phần mềm, đôi khi bạn cần xuất kết quả ra file Word nhưng chưa bạn chưa làm được. Bài hướng dẫn này sẽ giúp bạn làm điều đó. :D :D
1. Cài đặt Office Word hỗ trợ Net:
Yêu cầu : Trong máy bạn phải có cài đặt Microsoft Office Word, tốt nhất là 2003 trở lên
Để có thể lập trình được Word trong Net thì khi cài Word ta phài cài đầy đủ những thành phần sau:
Support 1

Hình ảnh

Support 2

Hình ảnh

2. Tạo Project thao tác với Word

Bước1. Đầu tiên các bạn hãy tạo một Project với tên là Word Project
Bước 2 . Click vào My Project trong cửa sổ Solution Explorer-->References -->Add
Ở cửa sổ Add References --> COM ---> Di chuyển tới References Microsoft Word 11 Object Library--> Nhấn Ok.
Sau khi xong thì bên trong Cửa sổ References của bạn sẽ xuất hiện thêm 3 dòng sau như hình vẽ.
Hình 1

Hình ảnh

Lưu ý rằng bạn phải có đủ 3 thành phần:
Microsoft Office 11.0 Object Library.
Microsoft Visual Basic for Application Extensibility...
Microsoft Word 11.0 Object Library
3. Namespace và các đối tượng dùng để thao tác với file Word
Ta dùng Namespace

Mã: Chọn hết

  1. Imports Microsoft.Office.Interop

Để tạo ra nội dung cho file Word ta dùng các đối tượng sau:

Mã: Chọn hết

  1. 'Đối tượng Word Application
  2.         Dim objApp As New Word.Application
  3.         'Tạo đối tượng Word Document
  4.         Dim objDocument As New Word.Document
  5.         'Hiển thị và kích hoạt Word Application
  6.         objApp.Visible = True
  7.         objApp.Activate()
  8.         'Add một Document vào trong Application
  9.         objDocument = objApp.Documents.Add

4. Tạo ra nội dung cho file Word
Để tạo ra nội dung cho file word ta dùng Selection tức là vùng chọn

Mã: Chọn hết

  1. 'Biến lưu vị trí select hiện hành
  2.         Dim objselection As Word.Selection
  3.         'Gán vị trí hiện hành trong Document vào biến selection
  4.         objselection = objDocument.Application.Selection()

4.1 Tạo ra một Paragraph mới

Mã: Chọn hết

  1. objselection.TypeParagraph()

4.2 Thiết lập các định dạng cho Paragraph
'Định dạng Paragraph

Mã: Chọn hết

  1.            objselection.Font.Color = Word.WdColor.wdColorRed
  2.             objselection.Font.Size = 16
  3.             objselection.Font.Bold = 1
  4.             objselection.Font.Underline = Word.WdUnderline.wdUnderlineSingle
  5.             objselection.Font.Italic = 1
  6. ‘Alignment
  7.             objselection.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter

4.3 Add chuỗi văn bản vào Paragraph
'Add Text vào Paragraph

Mã: Chọn hết

  1. objselection.TypeText("Lập trình Microsoft Office Word với VB.Net" & vbCrLf)
  2.       objselection.TypeText("Paragraph đầu tiên")

4.4 Xóa hết các định dạng trước đó để thiết lập định dạng mới
'Tạo một Paragraph mới

Mã: Chọn hết

  1.            objselection.TypeParagraph()
  2.             'Xóa định dạng Paragraph trước
  3.             objselection.ClearFormatting()
  4. ‘Thiết lập định dạng mới
  5. objselection.Font.Color = Word.WdColor.wdColorBlue
  6.             objselection.TypeText("1 - Bước 1")
  7.             objselection.TypeParagraph()
  8.       objselection.TypeText("2 - Bước 2")

4.5 Chèn hình ảnh vào file word
'Tạo Paragraph mới

Mã: Chọn hết

  1. objselection.TypeParagraph()
  2.       objselection.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter
  3. 'Chèn hình ảnh cho Paragraph từ đường dẫn của file ảnh
  4.       objselection.InlineShapes.AddPicture(Application.StartupPath & "\canh cam.jpg")

4.6 Xuất nội dung ra file word
'Xuất ra file Doc

Mã: Chọn hết

  1.        objDocument.SaveAs(Application.StartupPath & "\Word output.doc")

Hình 2

Hình ảnh


Kiếm cơm cho qua ngày tháng
https://www.facebook.com/pinduphongpisenchinhhang

anhnga2607
Bài viết: 6
Ngày tham gia: T.Bảy 02/01/2010 2:26 pm

Re: [Net] Lập trình Microsoft Office Word với VB.Net

Gửi bàigửi bởi anhnga2607 » T.Bảy 02/01/2010 5:40 pm

Ôi! đây là bài viết mà mình đã tìm rất lâu rồi nhưng giờ mới thấy được! =D> =D> =D> =D>
Cảm ơn bạn anhtuyenbk nhiều lắm!!!!

Ly Xuan Ngoc
Bài viết: 6
Ngày tham gia: T.Ba 27/07/2010 4:58 am

Re: [Net] Lập trình Microsoft Office Word với VB.Net

Gửi bàigửi bởi Ly Xuan Ngoc » T.Sáu 06/08/2010 12:46 am

cám ơn bạn rất2 nhiều!!!!!! [-O<

Hình đại diện của người dùng
bangnhatquang68
Guru
Guru
Bài viết: 791
Ngày tham gia: T.Ba 26/01/2010 12:44 pm
Đến từ: Vĩ tuyến 17
Has thanked: 20 time
Been thanked: 37 time
Liên hệ:

Re: [Net] Lập trình Microsoft Office Word với VB.Net

Gửi bàigửi bởi bangnhatquang68 » T.Ba 24/08/2010 12:55 pm

xin bác tuyên chỉ giáo phần trền với. "tui đang mò lập word"
tóm lại mục Tạo ra nội dung cho file Word là như thế nào
đơn giản là tui có richtextbox
khi tui chọn cụm text có phải là biến selecction không.
viết như thế nào ?
phần xuất file ở nhập text ở richtext xuất ra đọc như thế nào?
cho ví dụ hướng đẫn cụ thể cái ?
bác viết cao siêu và "tui ở dưới gốc cây ngoái cổ mãi mà không nhìn thấy ngọn"
Mời anh em lên facebook giao lưu nào!
http://www.facebook.com/groups/145823032176611/

tranxuanlang
Thành viên chính thức
Thành viên chính thức
Bài viết: 36
Ngày tham gia: T.Ba 24/06/2008 11:49 am

Re: [Net] Lập trình Microsoft Office Word với VB.Net

Gửi bàigửi bởi tranxuanlang » T.Hai 30/05/2011 2:00 pm

Tôi muốn hỏi để mở một tệp Word có sẵn thì làm thế nào?. còn tạo đơn giản vậy thì tôi đã làm được

canthoit
Bài viết: 3
Ngày tham gia: T.Tư 15/06/2011 12:00 pm
Has thanked: 1 time

Re: [Net] Lập trình Microsoft Office Word với VB.Net

Gửi bàigửi bởi canthoit » T.Sáu 01/07/2011 11:42 pm

Mấy anh cho em hỏi nếu mình muốn lập trình cài password, và gỡ bỏ password cho tập tin office: word, excel,... thì làm như thế nào! Mong các anh chỉ giúp! Viết bằng C# thì càng tốt ạ! Em đang học về C# :)

tranxuanlang
Thành viên chính thức
Thành viên chính thức
Bài viết: 36
Ngày tham gia: T.Ba 24/06/2008 11:49 am

Re: [Net] Lập trình Microsoft Office Word với VB.Net

Gửi bàigửi bởi tranxuanlang » T.Bảy 09/07/2011 5:52 pm

Cảm ơn anhtuyenbk nhiều lắm!!!!
Tôi làm được hết các yêu cầu của mình cả tạo mới, mở ra sửa.
Cái chính là Add thêm thư viện nào để nó không bị lỗi

Hình đại diện của người dùng
tiensever
Thành viên tích cực
Thành viên tích cực
Bài viết: 109
Ngày tham gia: T.Ba 27/07/2010 10:30 pm
Has thanked: 1 time
Liên hệ:

Re: [Net] Lập trình Microsoft Office Word với VB.Net

Gửi bàigửi bởi tiensever » CN 16/10/2011 7:24 pm

ko biết nói j hơn, thank you bác anhtuyenbk :x

tieubavuong1312
Thành viên chính thức
Thành viên chính thức
Bài viết: 19
Ngày tham gia: T.Sáu 11/05/2012 9:22 pm
Been thanked: 6 time

Re: [Net] Lập trình Microsoft Office Word với VB.Net

Gửi bàigửi bởi tieubavuong1312 » T.Ba 16/04/2013 7:20 pm

Mình bổ sung thêm một lệnh này nữa cho các bác dùng.

Ví dụ muốn trên 1 dòng word, có cách trìnhh bày như sau:

Lập trình Microsoft Office Word với VB.Net

Nếu chỉ dùng các lệnh mà anhtuyenbk hướng dẫn ở Post 1 sẽ không trình bày được như dòng trên.
Đoạn Lập trình thì dùng các lệnh như của anhtuyenbk.
Trước khi dùng

Mã: Chọn hết

objselection.ClearFormatting()


Các bạn thêm một lệnh này

Mã: Chọn hết

 
'Phân chia lại phần style của word
objselection.InsertStyleSeparator()



Have fun!

thinh18tt
Mạnh Thường Quân
Mạnh Thường Quân
Bài viết: 167
Ngày tham gia: T.Ba 18/05/2010 11:49 pm
Has thanked: 7 time

Re: [Net] Lập trình Microsoft Office Word với VB.Net

Gửi bàigửi bởi thinh18tt » T.Hai 06/02/2017 4:15 pm

Không biết bạn còn hỗ trơ nữa hay không nhưng mình xin hỏi như sau:

Việc Add reference như vậy có gặp lỗi như ở VB6 hay không? Có nghĩa là máy lập trình mình dùng office 2007 nhưng máy sử dụng lại cài 2010 hoặc cao hơn.


Quay về “[.NET] Bài viết hướng dẫn”

Đang trực tuyến

Đang xem chuyên mục này: Không có thành viên nào trực tuyến.1 khách