Chuyển đến nội dung
Diễn đàn CADViet
Đăng nhập để thực hiện theo  
ketxu

Mời hợp tác phát triển dự án Dự toán trên Excel

Các bài được khuyến nghị

Hiện tại chúng tôi có hướng và giải pháp cho một phần mềm dự toán Excel được lập trình bằng Microsoft Office với công nghệ VSTO 3.0.

Rất mong các bạn, các đơn vị có năng lực, hứng thú cùng tham gia đầu tư với chúng tôi để tiếp tục phát triển dự toán Excel thành hiện thực.

Chúng tôi có bản quyền code và được sự cho phép của tác giả Đỗ Anh Xuân.

Hiện tại công việc đã thực hiện được như sau :

 

 

Để hiểu thêm về dự án "Phần mềm dự toán XT" chúng tôi xin trình bày một số lý thuyết sau :

VBA (Visual Basic for Application) từ lâu đã được biết đến như một công cụ lập trình quen thuộc và dễ dùng cho việc phát triển ứng dụng trên nền Office cũng như mở rộng tính năng cho Office (sau đây xin gọi chung là ứng dụng nền). Tuy nhiên, vì đã ra đời khá lâu (năm 1993) và ít có sự cải tiến nên hiện tại cũng bộc lộ một số hạn chế như:

• Không hỗ trợ font chữ Unicode.

• Chỉ sử dụng ngôn ngữ Visual Basic (VB).

• Môi trường lập trình (IDE) và các Controls đi kèm lạc hậu so với các công cụ mới như Visual Studio (VS) 2008.

• Bảo vệ mã chương trình không triệt để.

• Chưa bắt kịp sự phát triển các tính năng của các phiên bản Office mới như Office 2007.

Vì lý do trên, Microsoft đã phát triển công cụ lập trình VSTO (môi trường .NET, là một phần trong bộ Visual Studio 2008) nhằm hỗ trợ tốt hơn việc lập trình trên Office (như Word, Excel, Outlook, PowerPoint...).

Về bản chất VSTO là một Add-in của Visual Studio (VS). VSTO xuất hiện từ khoảng đầu năm 2004 dựa trên VS 2003, với mục đích thay thế VBA trong Excel, Word. Nhưng phải đến phiên bản VS 2008 thì VSTO mới thực sự hoàn chỉnh với sự hỗ trợ lập trình mạnh mẽ trên các ứng dụng của Office 2003 và 2007.

Giống VBA, VSTO cũng tác động trực tiếp với các ứng dụng nền, như vậy sẽ khá thuận lợi khi người dùng chuyển từ VBA sang VSTO.

Những đặc điểm nổi bật của VSTO 3.0 (hay còn gọi là VSTO 2008):

• Hỗ trợ các ngôn ngữ mà VS hỗ trợ: VB .NET, C++, C#...

• Tận dụng giao diện đồ họa Windows Form của VS.

• Cải thiện khả năng truy cập cơ sở dữ liệu với server (SQL và ADO)

• Bảo vệ mã chương trình bằng cách che dấu và ngăn cản sự thay đổi từ bên ngoài.

• VSTO 3.0 cho phép tạo ứng dụng ở dạng nhúng hoặc độc lập.

Dạng nhúng: các ứng dụng được lưu theo các file dữ liệu của office như docx, xlsx... và chỉ sử dụng được cho file đó.

Dạng độc lập: mã chương trình được xuất thành dạng file *.dll, từ đó tham chiếu vào các ứng dụng tương ứng. Việc cài đặt các ứng dụng VSTO 3.0 rất đơn giản nhờ công nghệ ClickOnce.

Một số ứng dụng của VSTO:

• Tùy biến giao diện Ribbon

• Thay thế VBA dạng add-ins

• Tạo TaskPane cho ứng dụng Office

• Cá nhân hóa Outlook.

Về cơ bản, giống như VBA, VSTO được xây dựng dựa trên kiến trúc COM, cho nên người dùng có thể sử dụng các thành phần sẵn có của ứng dụng nền trong việc xây dựng chương trình của mình, giúp thời gian phát triển được rút ngắn.

Một dự án được xây dựng bằng VSTO dựa trên ứng dụng nền nào thì nó phụ thuộc chặt chẽ vào ứng dụng nền đó, bởi theo mặc định, dự án VSTO sẽ hoạt động và sử dụng các thành phần trong chính ứng dụng nền đó.

Sự khác biệt cơ bản nhất của VSTO trong các ứng dụng nền (ví dụ giữa Word và Excel) là cách thức sử dụng các thành phần (đối tượng) của ứng dụng nền. Cho nên khi xây dựng ứng dụng bằng VSTO, cũng như VBA, thì việc hiểu rõ mô hình đối tượng của ứng dụng nền là yêu cầu bắt buộc.

 

 

Hình 1: Hệ thống các đối tượng cơ bản trong MS Word và Excel

Nói tóm lại, để lập trình với VSTO, cách tốt nhất là làm chủ từng phần. Đầu tiên cần nắm vững một ngôn ngữ lập trình mà Visual Studio hỗ trợ (VB, C# hoặc C++) và cách sử dụng VSIDE để viết mã lệnh cũng như thiết kế giao diện. Sau đó nghiên cứu mô hình đối tượng của các ứng dụng nền (là những thành phần của ứng dụng mà người dùng có thể sử dụng) cũng như cách sử dụng chúng.

 

Công cụ cần có:

• Visual Studio 2008 với VSTO 3.0

• Microsoft Office 2007 hoặc 2003

 

Tiếp cận VSTO

Để người dùng bước đầu làm quen với VSTO, bài viết sẽ trình bày các bước tạo các ứng dụng trên MS Excel, Word ở 2 dạng độc lập và nhúng qua 2 ví dụ:

 

 

 

Hình 2: Tạo dự án mới trong Visual Studio 2008

Thêm tính năng xử lý tiếng Việt cho MS Word sử dụng Ribbon (dạng độc lập).

 

Tạo file Excel có chức năng nhập thông tin cá nhân (dạng nhúng).

 

Công cụ sử dụng: Visual Studio 2008; Microsoft Office 2007.

 

Ngôn ngữ lập trình: Visual Basic, nền tảng .NET Framework 3.5

 

 

 

Hình 3: Thêm điều khiển Ribbon

Ví dụ 1: Thêm tính năng xử lý tiếng Việt cho MS Word sử dụng Ribbon.

 

Tạo mới dự án: Chọn File > New Project, trong Project types chọn Visual Basic > Office > 2007 > Word 2007 Add-in.

 

Thêm điều khiển Ribbon vào dự án: Project > Add New Item.

 

Sử dụng Toolbox thêm các điều khiển cần thiết vào Ribbon.

 

 

Hình 4: Thiết kế giao diện cho Ribbon

Ribbon này sẽ được thêm vào trong ứng dụng Word khi bạn Debug (Tab Add-ins).

 

Sau khi thiết kế xong phần giao diện Ribbon, tiến hành viết mã lệnh cho các chức năng. Để điều khiển ứng dụng Word ta truy cập đến đối tượng Application theo cách sau:

 

Globals.ThisAddIn.Application

 

Ví dụ đoạn mã sau đây giúp chuyển tất cả nội dung văn bản được đánh dấu thành chữ in hoa.>

 

 

Hình 5: Các tính năng được thêm vào MS Word

Dim strSelect As String =

 

Globals.ThisAddIn.Application.Selection.Text

Globals.ThisAddIn.Application.Selection.Text = strSelect.ToUpper

 

Trong quá trình viết mã, tiến hành Debug bình thường, VSTO sẽ tự động khởi động MS Word để người lập trình kiểm thử ứng dụng.

 

Ví dụ 2: Tạo file Excel có chức năng nhập thông tin cá nhân

Tạo mới dự án: Trong Project types chọn Visual Basic > Office > 2007 > Excel 2007 Workbook.

Sử dụng Toolbox thêm các điều khiển dạng nhúng vào bảng tính (worksheet) để tạo form nhập thông tin cá nhân.

 

 

Hình 6: Giao diện Excel trong VSIDE

 

Hình 7: Giao diện Excel trong VSIDE

Viết mã lệnh cho điều khiển Button. Khi bấm Thêm vào danh sách, các thông tin do người dùng sẽ được nhập vào trong danh sách bên dưới.

 

Ví dụ đoạn mã chương trình khi sự kiện bấm nút "Thêm vào danh sách" xảy ra.

 

If txtHoTen.Text = "Nhập họ và tên" Then

 

MsgBox("Chưa nhập Họ và tên!")

ElseIf cbxQueQuan.Text = "Chọn địa danh" Then

MsgBox("Chưa nhập quê quán!")

ElseIf dtNgaySinh.Value.Year = Now.Year Then

MsgBox("Chưa nhập ngày tháng năm sinh!")

ElseIf rdbNam.Checked Or rdbNu.Checked Then

Me.Range("A" & i).Value2 =

Application.WorksheetFunction.Max(Range("A:A")) + 1

Me.Range("B" & i).Value2 = txtHoTen.Text

Me.Range("C" & i).Value2 = cbxQueQuan.Text

Me.Range("D" & i).Value2 = dtNgaySinh.Value

Me.Range("E" & i).Value2 = strGioiTinh

i = i + 1

Else

MsgBox("Chưa nhập giới tính!")

End If

 

Khi Debug, VSIDE sẽ tự động mở chương trình Excel để người lập trình kiểm thử ứng dụng của mình.

 

Phân phối cài đặt ứng dụng VSTO

 

Sau khi hoàn thiện ứng dụng, vấn đề phân phối cài đặt sang máy tính khác thường gặp khó khăn. Nhưng với VSTO 3.0 thì khác. Có 2 cách để thực hiện việc này.

 

Cách 1: Sử dụng công nghệ ClickOnce của Microsoft.

Chọn Project > Project Properties > Publish

 

 

Hình 8: Thiết kế Publish

Thiết lập các thông số tạo bộ cài đặt trên giao diện.

 

Publish Location: Vị trí tạo bộ cài đặt.

 

Prerequisites: Xác định các gói phần mềm cần cài đặt trước khi tiến hành cài đặt chương trình. Có 3 lựa chọn chính:

 

Tải từ website của nhà cung cấp.

 

Nhúng các gói phần mềm vào cùng thư mục cài đặt chương trình.

 

Cài đặt từ một thư mục xác định trước.

Nếu các gói phần mềm cần thiết chưa được cài đặt, chương trình sẽ tự động cài đặt theo một trong 3 cách trên.

 

 

Hình 9: Các file trong thư mục cài đặt

Chọn Publish Now để phát sinh bộ cài. Khi hoàn thành thư mục Publish xuất hiện các file:

 

Do lựa chọn Prerequisites theo cách 2, ngoài thư mục chứa chương trình, bộ cài còn nhúng sẵn các bộ cài cần thiết cho việc chạy chương trình như DotNetFX35, VSTOR30, WidnowsInstaller3_1.

 

 

 

Hình 10: Các file trong thư mục Release

Để cài đặt trên máy tính khác, chỉ cần thực thi Setup.exe và làm theo hướng dẫn. Sau khi cài đặt, các tính năng của add-in được thêm vào MS Word hoặc Excel.

 

Cách 2: Cài đặt trực tiếp qua file *.vsto

Sau khi Build, trong thư mục Project\bin\Release có các file:

 

 

Hình 11: Các file trong thư mục Release

Để cài đặt add-in này sang máy tính khác, copy toàn bộ thư mục trên, thực thi file *.vsto để cài đặt.

Để thực thi được các file dạng *.vsto, máy tính cần cài đặt Visual Studio Tools for the Office system 3.0 Runtime (Office 2007), cài đặt bằng file vstor30.exe, tải từ trang web chính thức của Microsoft.

 

 

 

Các bạn quan tâm có thể để lại tin nhắn hoặc gửi mail đến mail :xaydungit@gmail.com hoặc gọi tới số 0944 614 999 - 0989 728 788

Rất vui được hợp tác cùng phát triển dự án!

  • Vote tăng 3

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Mình cũng đã viết trên Excel để sử dụng nhiều năm rồi. Nhưng viết đơn giản chỉ để làm ăn chứ không đẹp như các Bạn, không biết có hữu ích cho dự án dự tóan Excel này không?

Mời xem:

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tạo một tài khoản hoặc đăng nhập để nhận xét

Bạn cần phải là một thành viên để lại một bình luận

Tạo tài khoản

Đăng ký một tài khoản mới trong cộng đồng của chúng tôi. Điều đó dễ mà.

Đăng ký tài khoản mới

Đăng nhập

Bạn có sẵn sàng để tạo một tài khoản ? Đăng nhập tại đây.

Đăng nhập ngay
Đăng nhập để thực hiện theo  

×