Xin hướng dẫn viết chương trình VB6 lấy dữ liệu trên bảng tính Excel (VD: họ tên, ngày sinh), sau đó hiển thị lên MSFlexGird?

Tư vấn giúp tôi???
thuy linh
thuy linh
Trả lời 16 năm trước
Yêu cầu của bạn gồm 2 vấn đề chính: - Truy xuất nội dung từng cell trong bảng tính Excel. Hai phương pháp đơn giản, tin cậy nhất để truy xuất nội dung bảng tính Excel là: hoặc dùng các đối tượng "Excel Automation Server", hoặc dùng các đối tượng ADO để truy xuất file Excel như là cơ sở dữ liệu. - Xử lý đối tượng MSFlexGrid thông qua các thuộc tính, các tác vụ của nó. Sau đây là qui trình điển hình để xây dựng 1 ứng dụng VB 6.0 đơn giản, demo việc hiển thị vùng dữ liệu nằm trong các cell từ A1:J20 trên worksheet có tên là "Sheet1" nằm trên file Excel "c:\userData.xls" lên đối tượng MSFlexGrid của VB 6.0: 1. Chạy VB 6.0, tạo Project mới thuộc loại "Standard EXE" (loại Project mặc định có 1 Form giao diện rỗng ban đầu). 2. Chọn menu Project.References để hiển thị cửa sổ References. Duyệt tìm và chọn mục "Microsoft Excel x.y Object Library" để "add" các đối tượng truy xuất file Excel vào Project. Lưu ý x.y là chỉ số version của thư viện các đối tượng Excel được cài trên máy bạn. 3. Chọn menu Project.Components để hiển thị cửa sổ Components. Duyệt tìm và đánh dấu chọn mục "Microsoft FlexGrid Controls 6.0" để "add" đối tượng MSFlexGrid vào Project. 4. Vẽ 1 button trên Form có tên mặc định là Command1. 5. Vẽ 1 đối tượng MSFlexGrid lên Form, thiết lập giá trị các thuộc tính sau của nó : (Name) = MyFlexGrid, AllowUserRisizing = 3 - flexRisizeBoth, 6. Nhấn đúp chuột vào button vừa tạo để tạo thủ tục xử lý sự kiện click chuột trên button rồi viết đoạn code thực hiện việc hiển thị dữ liệu từ file Excel lên đối tượng MSFlexGrid như sau: Option Explicit 'thủ tục xử lý sự kiện click chuột trên button Private Sub Command1_Click() 'khai báo các biến cần dùng Dim oXL As Excel.Application Dim oWB As Excel.Workbooks Dim oSheet As Excel.Worksheet Dim rgn As Range Dim i As Integer, j As Integer 'khởi động Excel và nhận đối tượng Application. Set oXL = CreateObject("Excel.Application") 'xác định đối tượng quản lý file Excel. Set oWB = oXL.Workbooks 'mở file "c:\userData.xls" chứa dữ liệu cần hiển thị oWB.Add "c:\userData.xls" 'thiết lập biến miêu tả worksheet cần truy xuất Set oSheet = oWB.Item(1).Worksheets("Sheet1") 'hiển thị nội dung trong vùng A1:J20 lên MSFlexGrid Set rgn = oSheet.Range("A1:J20") 'thiết lập số hàng cho FlexGrid: 1 hàng tiêu đề + 20 hàng data MyFlexGrid.Rows = 21 'thiết lập số cột cho FlexGrid: 1 cột tiêu đề + 10 cột data MyFlexGrid.Cols = 11 'tạo tiêu đề các cột MyFlexGrid.Row = 0 For i = 1 To 10 MyFlexGrid.Col = i MyFlexGrid.Text = Chr(64 + i) 'chỉnh giữa nội dung tiêu đề MyFlexGrid.CellAlignment = 4 Next i 'tạo tiêu đề các hàng MyFlexGrid.Col = 0 For i = 1 To 20 MyFlexGrid.Row = i MyFlexGrid.Text = i 'chỉnh giữa nội dung tiêu đề MyFlexGrid.CellAlignment = 4 Next i 'lặp đọc từng cell dữ liệu và hiển thị For i = 1 To 20 For j = 1 To 10 MyFlexGrid.Row = i MyFlexGrid.Col = j MyFlexGrid.Text = rgn.Cells(i, j) Next j Next i 'đóng đối tượng workbook (file xls) oWB.Item(1).Close 'đóng ứng dụng Excel oXL.Quit End Sub.
tran gia thuan
tran gia thuan
Trả lời 14 năm trước

Các bạn có thể giúp mình được ko? mình đang lam đề tài tốt nghiệp? yêu cầu đề tài là dùng vb 6 để lập trình tạo giao diện điều khiển.mình đang bị vấpở chổ truy vấn dử liệu ra và vào trong excel. mình học điện mình chưa học vb 6 bao giờ. mong các bạn giúp đở. mình cám ơn trước nha! gmail của mình: tranliemcaothang@gmail.com