Xin hướng dẫn cách lấy dữ liệu nhập ở các file Excel khác?

Xin hướng dẫn cách lấy dữ liệu nhập ở các file Excel khác và tự động update vào 1 file chính, việc update thực hiện qua mạng LAN hoặc copy thuần túy các file dữ liệu của các cá nhân nhập liệu khác lên một thư mục nào đó.
Con Nan
Con Nan
Trả lời 15 năm trước
Nếu bạn cho phép nhập dữ liệu bởi nhiều người trên nhiều file Excel riêng biệt và muốn tổng hợp dữ liệu nhập thành 1 file Excel duy nhất, bạn có thể viết ứng dụng thực hiện việc tổng hợp dữ liệu theo yêu cầu. Mỗi khi cần tổng hợp, bạn chỉ cần kích hoạt ứng dụng tương ứng. Bạn có thể viết ứng dụng bằng bất kỳ ngôn ngữ của Microsoft nào (VC++, VB, VB .Net, VC#..) và dùng đối tượng "Excel Automation Server" để truy xuất nội dung các file Excel. Thí dụ sau đây là qui trình xây dựng 1 ứng dụng VB 6.0 đơn giản demo việc copy 1 vùng dữ liệu nằm trong các cell từ A1:H100 trên worksheet có tên là SourceSheet nằm trên file Excel "c:\user1Data.xls" vào vùng cell từ a101:H200 trên worksheet có tên là DestSheet nằm trên file Excel "c:\user2Data.xls": 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ổ Refrerences. 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. Tạo 1 button trên Form có tên mặc định là Command1. 4. 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 copy dữ liệu từ file Excel này sang file khác 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 oSheet1 As Excel.Worksheet Dim oSheet2 As Excel.Worksheet '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ý các file Excel. Set oWB = oXL.Workbooks 'mở file "c:\user1Data.xls" chứa kết quả oWB.Add "c:\user1Data.xls" 'mở file "c:\user2Data.xls" chứa dữ liệu cần copy oWB.Add "c:\user2Data.xls" 'thiết lập biến các worksheet cần truy xuất Set oSheet1 = oWB.Item(1).Worksheets("DestSheet") Set oSheet2 = oWB.Item(2).Worksheets("SourceSheet") 'copy nội dung từ SourceSheet sang DestSheet oSheet1.Range("A101:H200").Value = oSheet2.Range("A1:H100").Value oWB.Item(1).SaveAs "c:\ketqua.xls" 'đóng các đối tượng workbook (file xls) oWB.Item(2).Close oWB.Item(1).Close 'đóng ứng dụng Excel oXL.Quit End Sub 5. Chọn menu Run.Start để chạy thử ứng dụng xem nó hoàn thành nhiệm vụ qui định không.