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

Các điều hành viên: tungcan5diop, QUANITGROBEST

Đăng trả lời
Hình đại diện của thành viên
anhtuyenbk
Guru
Guru
Bài viết: 1311
Ngày tham gia: Thứ 5 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 times

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

Gửi bài by anhtuyenbk »

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 tất cả

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 tất cả

'Đối tượng Word Application        Dim objApp As New Word.Application        'Tạo đối tượng Word Document        Dim objDocument As New Word.Document        'Hiển thị và kích hoạt Word Application        objApp.Visible = True        objApp.Activate()        'Add một Document vào trong Application        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 tất cả

'Biến lưu vị trí select hiện hành        Dim objselection As Word.Selection        'Gán vị trí hiện hành trong Document vào biến selection        objselection = objDocument.Application.Selection()
4.1 Tạo ra một Paragraph mới

Mã: Chọn tất cả

objselection.TypeParagraph()
4.2 Thiết lập các định dạng cho Paragraph
'Định dạng Paragraph

Mã: Chọn tất cả

            objselection.Font.Color = Word.WdColor.wdColorRed            objselection.Font.Size = 16            objselection.Font.Bold = 1            objselection.Font.Underline = Word.WdUnderline.wdUnderlineSingle            objselection.Font.Italic = 1‘Alignment            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 tất cả

objselection.TypeText("Lập trình Microsoft Office Word với VB.Net" & vbCrLf)      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 tất cả

            objselection.TypeParagraph()            'Xóa định dạng Paragraph trước            objselection.ClearFormatting()‘Thiết lập định dạng mớiobjselection.Font.Color = Word.WdColor.wdColorBlue            objselection.TypeText("1 - Bước 1")            objselection.TypeParagraph()      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 tất cả

objselection.TypeParagraph()      objselection.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter'Chèn hình ảnh cho Paragraph từ đường dẫn của file ảnh      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 tất cả

        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: Thứ 7 02/01/2010 2:26 pm

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

Gửi bài by anhnga2607 »

Ô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: Thứ 3 27/07/2010 4:58 am

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

Gửi bài by Ly Xuan Ngoc »

cám ơn bạn rất2 nhiều!!!!!! [-O<
Hình đại diện của thành viên
bangnhatquang68
Guru
Guru
Bài viết: 791
Ngày tham gia: Thứ 3 26/01/2010 12:44 pm
Đến từ: Vĩ tuyến 17
Has thanked: 20 times
Been thanked: 38 times
Tiếp xúc:

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

Gửi bài by bangnhatquang68 »

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: Thứ 3 24/06/2008 11:49 am

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

Gửi bài by tranxuanlang »

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: Thứ 4 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ài by canthoit »

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: Thứ 3 24/06/2008 11:49 am

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

Gửi bài by tranxuanlang »

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 thành viên
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: Thứ 3 27/07/2010 10:30 pm
Has thanked: 1 time
Tiếp xúc:

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

Gửi bài by tiensever »

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: Thứ 6 11/05/2012 9:22 pm
Been thanked: 6 times

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

Gửi bài by tieubavuong1312 »

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 tất cả

objselection.ClearFormatting()
Các bạn thêm một lệnh này

Mã: Chọn tất cả

 
'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: Thứ 3 18/05/2010 11:49 pm
Has thanked: 7 times

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

Gửi bài by thinh18tt »

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
Bài viết: 21
Ngày tham gia: Thứ 3 18/06/2013 12:11 pm
Has thanked: 1 time

Nhờ code giúp

Gửi bài by thanhtunghsb »

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.
Tập tin đính kèm
TBnhantien.rar
(13.91 KiB) Đã tải về 39 lần
Đăng trả lời

Quay về