• 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#

Moderators: tungcan5diop, QUANITGROBEST

User avatar
anhtuyenbk
Guru
Guru
Posts: 1311
Joined: Thu 22/09/2005 4:12 pm
Location: Một nơi chừa từng biết, chưa từng nghe, chưa từng thấy
Been thanked: 38 times

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

Postby anhtuyenbk » Tue 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

Image

Support 2

Image

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

Image

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

Code: Select all

  1. Imports Microsoft.Office.Interop

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

Code: Select all

  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

Code: Select all

  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

Code: Select all

  1. objselection.TypeParagraph()

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

Code: Select all

  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

Code: Select all

  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

Code: Select all

  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

Code: Select all

  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

Code: Select all

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

Hình 2

Image


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

anhnga2607
Posts: 6
Joined: Sat 02/01/2010 2:26 pm

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

Postby anhnga2607 » Sat 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
Posts: 6
Joined: Tue 27/07/2010 4:58 am

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

Postby Ly Xuan Ngoc » Fri 06/08/2010 12:46 am

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

User avatar
bangnhatquang68
Guru
Guru
Posts: 791
Joined: Tue 26/01/2010 12:44 pm
Location: Vĩ tuyến 17
Has thanked: 20 times
Been thanked: 38 times
Contact:

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

Postby bangnhatquang68 » Tue 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
Posts: 36
Joined: Tue 24/06/2008 11:49 am

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

Postby tranxuanlang » Mon 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
Posts: 3
Joined: Wed 15/06/2011 12:00 pm
Has thanked: 1 time

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

Postby canthoit » Fri 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
Posts: 36
Joined: Tue 24/06/2008 11:49 am

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

Postby tranxuanlang » Sat 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

User avatar
tiensever
Thành viên tích cực
Thành viên tích cực
Posts: 109
Joined: Tue 27/07/2010 10:30 pm
Has thanked: 1 time
Contact:

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

Postby tiensever » Sun 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
Posts: 19
Joined: Fri 11/05/2012 9:22 pm
Been thanked: 6 times

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

Postby tieubavuong1312 » Tue 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

Code: Select all

objselection.ClearFormatting()


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

Code: Select all

 
'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
Posts: 167
Joined: Tue 18/05/2010 11:49 pm
Has thanked: 7 times

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

Postby thinh18tt » Mon 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.

thanhtunghsb
Thành viên chính thức
Thành viên chính thức
Posts: 17
Joined: Tue 18/06/2013 12:11 pm
Has thanked: 1 time

Nhờ code giúp

Postby thanhtunghsb » Sun 30/08/2020 8:53 pm

Xin nhờ bác nào dùng Code Vb.net làm giúp em cái form Thông báo này, các dòng bôi đậm là chỗ em cần gán dữ liệu vào.
Căn chỉnh các vấn đề đúng như file mẫu này giúp em, em cảm ơn nhiều.
Attachments
TBnhantien.rar
(13.91 KiB) Downloaded 8 times


Return to “[.NET] Bài viết hướng dẫn”

Who is online

Users browsing this forum: No registered users and 1 guest