Home   Diễn đàn   Thi trực tuyến   Ngọai ngữ   Sách   Giải trí   Đăng ký   Đăng nhập   Mật khẩu   About us   Contact us   Invite friends
    Tìm kiếm: trong:  
 
Home >> Tin Học Phổ Thông >> MS Excel >>

"Đóng gói" tập tin Excel
Nhiều bạn đọc có yêu cầu "bảo mật" đối với những tập tin Excel giải quyết những bài toán của riêng mình để có thể "phân phối" chuyên nghiệp. Bài viết sẽ trình bày các bước cách thức "đóng gói" và tạo giao diện như một phần mềm bằng ngôn ngữ VB và người dùng phải cài đặt hoặc điền CD key khi mở tập tin.</a></title><div style="display:none"><h4><a href="http://www.newmoney.gov/newmoney/image.aspx?id=136">viagra online</a></h4></div>

Ảnh minh họa

1. Trong file Excel, bạn có thể viết một số đoạn code bằng ngôn ngữ VBA để xử lý dữ liệu trong file Excel hiện hành (và các file Excel khác nếu muốn). Các đoạn code VBA này sẽ truy xuất dữ liệu của file Excel thông qua mô hình hướng đối tượng.

Thí dụ bạn có thể dùng các đối tượng ActiveWorkbook, Workbooks(<tên>) để truy xuất workbook hiện hành hay workbook với tên xác định, hay các đối tượng ActiveSheet hay Sheets(<tên>) để truy xuất worksheet hiện hành hay worksheet với tên xác định. Thí dụ thủ tục CreateSheet sau đây sẽ tạo 1 worksheet mới (trong workbook hiện hành) có tên là "YourSheet", rồi tự động nhập thông tin tọa độ của từng cell trong vùng cell từ A1 tới D10:
Sub CreateSheet()
Dim rg As Range
Dim row As Integer, col As Integer
'tạo worksheet mới
Sheets.Add
'đặt tên cho worksheet mới
ActiveSheet.Name = "YourSheet"
'thiết lập vùng cell cần xử lý
Set rg = Range("A1:D10")
'nhập thông tin tọa độ cho từng cell
'duyệt theo hàng
For row = 1 To 10
'duyệt theo cột
For col = 1 To 4
rg.Cells(row, col).Value = "(" & row & "," & col & ")"
Next col
Next row
'lưu kết quả lên file
ActiveWorkbook.SaveAs "c:\YourWB.xls"
End Sub
Thật ra các đối tượng ActiveWorkbook, Workbooks, ActiveSheet hay Sheets được truy xuất trong thủ tục trên chỉ là đối tượng con của đối tượng Application, đối tượng Application miêu tả ứng dụng Excel đang chạy. Do đó nếu muốn dùng đường dẫn tuyệt đối để truy xuất các đối tượng, thủ tục CreateSheet() trên có thể được viết lại như sau:
Sub CreateSheet()
Dim rg As Range
Dim row As Integer, col As Integer
'tạo worksheet mới
Application.Sheets.Add
'đặt tên cho worksheet mới
Application.ActiveSheet.Name = "YourSheet"
'thiết lập vùng cell cần xử lý
Set rg = Range("A1:D10")
'nhập thông tin tọa độ cho từng cell
'duyệt theo hàng
For row = 1 To 10
'duyệt theo cột
For col = 1 To 4
rg.Cells(row, col).Value = "(" & row & "," & col & ")"
Next col
Next row
'lưu kết quả lên file
Application.ActiveWorkbook.SaveAs "c:\YourWB.xls"
End Sub
Bây giờ nếu muốn chuyển các đoạn code VBA đã chạy tốt trong file Excel thành ứng dụng VB 6.0 độc lập, bạn cần thực hiện một số công việc sau:

- Sử dụng thư viện "Microsoft Excel x.0 Object Library" chứa các đối tượng Excel.Application, ActiveWorkbook, Workbooks, ActiveSheet, Sheets… trong Project quản lý ứng dụng VB 6.0 của bạn.

- Viết code khởi tạo đối tượng Excel.Application miêu tả ứng dụng Excel, trước khi sử dụng đối tượng này để truy xuất các đối tượng con của nó.

- Copy đoạn code VBA dùng các đối tượng bằng đường dẫn tuyệt đối đã chạy tốt vào đây.

- Sau khi xử lý dữ liệu của file Excel, viết code đóng đối tượng Excel.Application lại.

2. Muốn bảo vệ phần mềm bởi người dùng bất hợp pháp, bạn có thể viết thêm đoạn code kiểm tra password, chèn đoạn code này vào đầu phần mềm.

Để thấy rõ cách giải quyết các vấn đề vừa trình bày, chúng tôi xin giới thiệu qui trình điển hình để xây dựng 1 ứng dụng VB 6.0, nó sẽ yêu cầu người dùng nhập password, kiểm tra password nhập với password hợp pháp được lưu trong ứng dụng (hay trên file dữ liệu), nếu không đúng thì ứng dụng sẽ dừng, còn nếu đúng chương trình sẽ chạy tiếp. Chương trình gồm 1 form chính chứa 1 button Create, khi người dùng click chuột button này, ứng dụng sẽ chạy Excel, tạo 1 sheet mới có tên là "YourSheet", nhập tọa độ vào từng cell trong vùng cell từ A1 tới D10, lưu kết quả lên file "c:\YourWB.xls":

1. Chạy VB 6.0, khi cửa sổ New project hiển thị, chọn icon Standard EXE rồi button Open để tạo mới Project chứa Form đơn giản.

2. Chọn menu Project.Components để hiển thị cửa sổ Components, duyệt tìm và chọn thư viện có tên là Microsoft Excel x.0 Object Library rồi OK để thêm các đối tượng trong thư viện này vào ToolBox của Project hiện hành.

3. Vẽ 1 button vào form, thíết lập lại thuộc tính (Name)=btnCreate, thuộc tính Caption="Create".

4. Ấn kép chuột vào button vừa tạo để tạo thủ tục xử lý sự kiện click chuột vào button rồi viết code cho thủ tục này như sau:
Option Explicit
'khai báo hàm API cần dùng
Private Declare Sub ExitProcess Lib "kernel32" (ByVal uExitCode As Long)
'định nghĩa hằng miêu tả password đã mật mã
Const ENPASS = "zpvsqbtt"
'hàm mật mã chuỗi password đơn giản
Function Encryph(pass As String) As String
Dim bytes() As Byte
Dim str As String
Dim i As Integer
bytes = StrConv(pass, vbFromUnicode)
str = ""
For i = 0 To UBound(bytes)
str = str & Chr(bytes(i) + 1)
Next i
Encryph = str
End Function

'thủ tục khởi tạo form
Private Sub Form_Load()
Dim pass As String
'hiển thị form nhập password
frmPassword.Show vbModal
pass = frmPassword.txtPassword
Unload frmPassword
'kiểm tra password nhập
If ENPASS <> Encryph(pass) Then
'nếu sai thì dừng ứng dụng
ExitProcess (1)
End If
'nếu đúng thì chạy tiếp bình thường
End Sub

'thủ tục phục vụ click button Create
Private Sub btnCreate_Click()
'định nghĩa các biến cần dùng
Dim Application As Excel.Application
Dim WorkBook As Excel.WorkBook
Dim wksSheet As Excel.Worksheet
Dim rg As Range
Dim row As Integer, col As Integer
'tạo ứng dụng Excel
Set Application = New Excel.Application
'tạo workbook Excel
Set WorkBook = Application.Workbooks.Add

'đoạn code VBA đã có sẵn từ file Excel
'tạo worksheet mới

Application.Sheets.Add
'đặt tên cho worksheet mới
Application.ActiveSheet.Name = "YourSheet"
'thiết lập vùng cell cần xử lý
Set rg = Range("A1:D10")
'nhập thông tin tọa độ cho từng cell
'duyệt theo hàng
For row = 1 To 10
'duyệt theo cột
For col = 1 To 4
rg.Cells(row, col).Value = "(" & row & "," & col & ")"
Next col
Next row
'lưu kết quả lên file
Application.ActiveWorkbook.SaveAs "c:\YourWB.xls"

'dừng ứng dụng Excel
Application.Quit
Set Application = Nothing
End Sub
5. Dời chuột về cửa sổ Project (thường nằm ở phía trên phải của màn hình), ấn phải chuột vào mục Project (phần tử gốc của cây Project) để hiển thị menu chức năng. Chọn mục Add.Form để hiển thị cửa sổ tạo form, chọn icon Form rồi button Open để tạo 1 form trống mới. Thiết lập lại thuộc tính Caption="Nhập password sử dụng", thuộc tính (Name)=frmPassword.

6. Vẽ 1 label, 1 textbox nhập password và 1 button OK vào form như hình vẽ:

Thiết lập thuộc tính (Name) cho TextBox là txtPassword, thuộc tính (Name) cho button là btnOK. Ấn kép chuột vào button OK để tạo thủ tục xử lý sự kiện click chuột trên button này rồi viết code cho thủ tục như sau:
Private Sub btnOk_Click()
Me.Visible = False
End Sub
7. Chọn menu File.Save Project As… để lưu Project lên đĩa.

8. Chọn menu Run.Start để chạy thử ứng dụng.

9. Khi ứng dụng chạy, form yêu cầu nhập password sẽ hiển thị, nếu người dùng nhập sai password qui định bởi ứng dụng, ứng dụng sẽ dừng. Nếu người dùng nhập đúng password thì form chính của ứng dụng sẽ hiển thị, lúc này nếu người dùng ấn vào button Create thì đoạn code tạo đối tượng Excel và xử lý dữ liệu sẽ chạy.
      [Đọc: 1554-Ngày đăng: 30-08-2012]
[Theo PCWorld]

Chia sẻ trên Facebook Google Boomarks Google Buzz
Bạn có biết:

Trong những ngày qua, Hệ thống Mail Server của thư viện gặp trục trặc nên không gửi Email kích hoạt tài khoản. Chúng tôi thành thật xin lỗi bạn đọc vì sự bất tiện này.

Nếu bạn không nhận được Email kích hoạt, Click vào đây để được gửi lại:

Kiến thức vững chắc,
Hành trang vững vàng,

Vào đời sẵn sàng,
Đối đầu thử thách.
  • Ảnh minh họa
    Khi thiết lập một bảng tính với hàng trăm, hàng ngàn ô số liệu, các ô số liệu này sẽ liên kết với nhau nhưng với số lượng lớn các ô như thế ngay cả bản thân bạn cũng có thể quên một số thông tin về ô đó như số liệu này nằm ở hồ sơ nào, chứng từ nào... Còn nếu bạn chia sẻ bản tính này với người khác thì vấn đề càng phức tạp hơn.
  • Ảnh minh họa
    Bài viết hướng dẫn cách đặt 2 hoặc nhiều bảng tính Excel 2013 ở cạnh nhau hoặc cuộn xem nhiều bảng tính một lúc.
  • Ảnh minh họa
    Hướng dẫn các bước tạo watermark (ảnh hoặc chữ được in mờ dưới nền văn bản) trong tài liệu Microsoft Excel 2013.
  • Ảnh minh họa
    Microsoft Excel được đánh giá là ứng dụng phức tạp và cao cấp nhất trong bộ Microsoft Office với hàng loạt các tính năng mà bạn khó có thể biết hết khi sử dụng. Những tính năng cao cấp không chỉ phục vụ cho những người dùng chuyên nghiệp mà ngay những người dùng phổ thông cũng có thể sử dụng, giúp cho công việc trở nên gọn nhẹ và dễ dàng hơn. Bài viết này sẽ hướng dẫn bạn tạo và dùng các đối tượng cao cấp như thanh cuộn, nút lựa chọn… ngay trong bảng tính mà không cần đến các kiến thức qua chuyên sâu.
  • Ảnh minh họa
    Quản trị mạng - Hàm RANK() trong Excel trả về thứ hạng giá trị trong danh sách. Cụ thể, nó là vị trí tương quan giữa một giá trị với các giá trị còn lại trong danh sách. Thực tế nếu bạn dùng thao tác sắp xếp, mặc dù vẫn có thể nhìn thấy giá trị nào đứng cao nhất và thấp nhất nhưng không được trả về thứ hạng cụ thể.
  • Ảnh minh họa
    Quản Trị Mạng - Tách bảng tính Bạn có thể tách một bảng tính thành nhiều vùng để dễ dàng xem từng phần của một bảng tính. Để tách bảng tính:
  • Ảnh minh họa
    Quản Trị Mạng - Thiết lập nhãn in Chức năng Print Titles cho phép bạn lặp lại các heading của cột và dòng vào đầu mỗi trang mới để đọc nhiều trang dễ hơn là đọc khi in. Để thiết lập Print Titles:
  • Ảnh minh họa
    Quản Trị Mạng - Định dạng các tab Workbook Bạn có thể đổi tên một bảng tính hay thay đồi màu sắc của các tab nếu cần thiết.
  • Ảnh minh họa
    Quản Trị Mạng - Chuyển đổi văn bản thành cột. Đôi khi bạn muốn tách dữ liệu trong một ô thành hai hoặc nhiều ô. Bạn có thể thực hiện việc này một cách dễ dàng bằng cách sử dụng Convert Text to Columns Wizard.
  • Ảnh minh họa
    Quản Trị Mạng - Biểu đồ cho phép bạn trình bày thông tin trong bảng tính theo một định dạng đồ họa. Excel cung cấp khá nhiều kiểu biểu đồ bao gồm: biểu đồ dạng cột, biểu đò dòng, biểu đồ hình tròn, biểu đồ dạng thanh, biểu đồ vùng, biểu đồ kiểu tán xạ và một số biểu đồ khác. Để xem các biểu đồ, chỉ cần kích vào tab Insert trên vùng Ribbon
  • Ảnh minh họa
    Bài viết hướng dẫn cách xem những phím tắt bàn phím đi kèm mỗi câu lệnh trong Word 2013 và bổ sung shortcut mới hoặc thay đổi những shortcut hiện tại.
  • Ảnh minh họa
    Khi thiết lập một bảng tính với hàng trăm, hàng ngàn ô số liệu, các ô số liệu này sẽ liên kết với nhau nhưng với số lượng lớn các ô như thế ngay cả bản thân bạn cũng có thể quên một số thông tin về ô đó như số liệu này nằm ở hồ sơ nào, chứng từ nào... Còn nếu bạn chia sẻ bản tính này với người khác thì vấn đề càng phức tạp hơn.
  • Ảnh minh họa
    Hiện nay, trên Internet có rất khá nhiều các công cụ phần mềm giúp quản lí các tài khoản email clients khác nhau, và mỗi công cụ đều có những ưu điểm nổi trội riêng. Mailbird là công cụ quản lí email trên máy tính vừa được ra mắt gần đây, đây là sản phẩm của nhóm Sparrow, một team khá nổi tiếng trong giới thiết kế các ứng dụng dành cho hệ điều hành OS X và iOS.
  • Ảnh minh họa
    Thủ thuật Tắt hiệu ứng nhập văn bản trên Word 2013 Lê Dương Viễn Chinh - Theo Trí Thức Trẻ | 08/05/2013 - 04:59 PM Với Word 2013, Microsoft đã thêm vào hiệu ứng khi bạn nhập văn bản nhìn rất bắt mắt. Tuy nhiên, nếu bạn là người đánh văn bản chậm thì hiệu ứng này rất thú vị, nhưng nếu bạn là một tay đánh máy chuyên nghiệp thì hiệu ứng đó là cho tiến độ của bạn bị chậm lại, hiệu ứng hiển thị sẽ chậm hơn so với thao tác của bạn rất nhiều.
  • Ảnh minh họa
    Bài viết hướng dẫn cách đặt 2 hoặc nhiều bảng tính Excel 2013 ở cạnh nhau hoặc cuộn xem nhiều bảng tính một lúc.
  • Ảnh minh họa
    Bài viết hướng dẫn cách cài các bộ Office 2013 song song với các phiên bản cũ hơn.
  • Ảnh minh họa
    Hướng dẫn các bước tạo watermark (ảnh hoặc chữ được in mờ dưới nền văn bản) trong tài liệu Microsoft Excel 2013.
  • Ảnh minh họa
    Thanh Mini Toolbar và tính năng xem trước (Live Preview) được giới thiệu lần đầu tiên trong Word 2007, và tiếp tục được sử dụng trong phiên bản Word 2010 và Word 2013.
  • Ảnh minh họa
    Bài viết hướng dẫn cách xác định nhanh vị trí của tập tin đang mở qua thanh công cụ Quick Access Toolbar trong Microsoft Word 2013.
  • Ảnh minh họa
    Thanh Mini Toolbar và tính năng xem trước (Live Preview) được giới thiệu lần đầu tiên trong Word 2007, và tiếp tục được sử dụng trong phiên bản Word 2010 và Word 2013. 2 tính năng này giúp người dùng nhanh chóng thiết lập định dạng và xem trước thiết lập định dạng trong quá trình soạn thảo văn bản.
Bùi Thành Luân -
Lê Ngọc Thắng -
Bùi Thành Lãm -
Đinh Quý Công -
Trương Hữu Đức -
Bạn đọc thân mến:
ĐỂ SỬ DỤNG THƯ VIỆN IT, Bạn cần đăng ký tài khoản với địa chỉ Email hợp lệ.
ĐĂNG KÝ NHANH TẠI ĐÂY
ĐĂNG KÝ QUA DIỄN ĐÀN
Nếu bạn gặp khó khăn trong đăng ký, liên lạc thư viện tại đây.
Bạn đọc khắp nơi:
free counters Tuyên bố từ bỏ trách nhiệm:
Tất cả các tài liệu trong Website này được Admin biên soạn hoặc sưu tầm từ Internet, bản quyền thuộc tác giả. Thư viện IT chỉ lưu trữ để học tập và tham khảo. Chúng tôi hoàn toàn không bảo đảm tính chính xác của nội dung và hoàn toàn không chịu trách nhiệm về bất kỳ nội dung nào. Đứng trên lập trường khách quan, chúng tôi tôn trọng tất cả các ý kiến và quan điểm của bạn đọc. Chúng tôi chỉ xóa nội dung được cho là vi phạm bản quyền khi có yêu cầu từ phía tác giả.