Danh mục

'Đóng gói' tập tin Excel

Số trang: 5      Loại file: docx      Dung lượng: 237.09 KB      Lượt xem: 11      Lượt tải: 0    
tailieu_vip

Hỗ trợ phí lưu trữ khi tải xuống: miễn phí Tải xuống file đầy đủ (5 trang) 0
Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

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...
Nội dung trích xuất từ tài liệu:
“Đóng gói” tập tin Excel“Đóng gói” tập tin ExcelWEDNESDAY, 20 APRIL 2011 22:05 ADMINISTRATORNhiều bạn đọc có yêu cầu “bảo mật” đối với những tập tinExcel 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ướccách thức “đóng gói” và tạo giao diện như một phần mềmbằng ngôn ngữ VB và người dùng phải cài đặt hoặc điền CDkey khi mở tập tin.1. Trong file Excel, bạn có thể viết một số đoạn code bằngngôn ngữ VBA để xử lý dữ liệu trong file Excel hiện hành (và cácfile Excel khác nếu muốn). Các đoạn code VBA này sẽ truy xuấtdữ 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 đốitượng ActiveWorkbook, Workbooks() để truy xuấtworkbook hiện hành hay workbook với tên xác định, hay các đốitượng ActiveSheet hay Sheets() để truy xuất worksheethiệ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 workbookhiệ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 RangeDim row As Integer, col As Integertạo worksheet mớiSheets.Addđặt tên cho worksheet mớiActiveSheet.Name = YourSheetthiế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 cellduyệt theo hàngFor row = 1 To 10duyệt theo cộtFor col = 1 To 4rg.Cells(row, col).Value = ( & row & , & col & )Next colNext rowlưu kết quả lên fileActiveWorkbook.SaveAs c:YourWB.xlsEnd SubThật ra các đốitượng ActiveWorkbook, Workbooks, ActiveSheet hay Sheets được truy xuất trong thủ tục trên chỉ là đối tượng con của đốitượ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 để truyxuất các đối tượng, thủ tục CreateSheet() trên có thể được viếtlại như sau:Sub CreateSheet()Dim rg As RangeDim row As Integer, col As Integertạo worksheet mớiApplication.Sheets.Addđặt tên cho worksheet mớiApplication.ActiveSheet.Name = YourSheetthiế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 cellduyệt theo hàngFor row = 1 To 10duyệt theo cộtFor col = 1 To 4rg.Cells(row, col).Value = ( & row & , & col & )Next colNext rowlưu kết quả lên fileApplication.ActiveWorkbook.SaveAs c:YourWB.xlsEnd SubBâ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ạncầ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 đốitượng Excel.Application, ActiveWorkbook,Workbooks, ActiveSheet, Sheets… trong Project quản lý ứngdụ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 trapassword, 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ươngtrì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ừ A1tớ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 Projectchứ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ênlà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 Projecthiệ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ụcnày như sau:Option Explicitkhai báo hàm API cần dùngPrivate Declare Sub ExitProcess Lib kernel32 (ByVal uExitCode As Long)định nghĩa hằng miêu tả password đã mật mãConst ENPASS = zpvsqbtthàm mật mã chuỗi password đơn giảnFunction Encryph(pass As String) As StringDim bytes() As ByteDim str As StringDim i As Integerbytes = StrConv(pass, vbFromUnicode)str = For i = 0 To UBound(bytes)str = str & Chr(bytes(i) + 1)Next iEncryph = strEnd Functionthủ tục khởi tạo formPrivate Sub Form_Load()Dim pass As Stringhiển thị form nhập passwordfrmPassword.Show vbModalpass = frmPassword.txtPasswordUnload frmPasswordkiểm tra password nhậpIf ENPASS Encryph(pass) Then ...

Tài liệu được xem nhiều: