Tài liệu

Tài liệu RunMacro

Tạo robot đầu tiên, rồi tiến xa theo nhu cầu.

Hướng dẫn rõ ràng từng bước để tạo, chạy và cải thiện robot cho công việc máy tính lặp lại.

Tài liệu Tệp Smart Export Table
📊 Tệp

Trích xuất bảng dữ liệu Desktop ra Excel và CSV (Smart Export Table) trong RunMacro

Smart Export Table là công cụ trích xuất dữ liệu dạng bảng (DataGrid, Table, ListView) từ phần mềm máy tính ra Excel, CSV hoặc biến bộ nhớ thông qua Windows UI Automation mà không cần nút Export của ứng dụng.

Điều kiện cần#

  • Ứng dụng Desktop có hiển thị bảng dữ liệu.
  • Bảng được chọn thông qua nút Chọn bảng.

Chế độ hỗ trợ#

  • Chế độ Desktop — Truy xuất cấu trúc hàng cột qua UIA TablePattern và GridPattern.

Chức năng này làm gì#

Lệnh Smart Export Table (Smart Desktop Scrape Table) tự động đọc toàn bộ cấu trúc hàng và cột từ các control Table, DataGrid, ListView, TreeView của phần mềm máy tính thông qua các mẫu UIA TablePattern và GridPattern. Dữ liệu trích xuất bao gồm tiêu đề cột (header) và từng ô dữ liệu (cells), có thể lưu trực tiếp thành tệp bảng tính Excel (.xlsx), tệp .csv chuẩn UTF-8, hoặc gán vào biến bộ nhớ JSON để các lệnh trong quy trình tự động duyệt từng dòng (Loop).

Hình ảnh & video#

Giao diện cấu hình các trường thông số của lệnh Smart Export Table trong RunMacro
Khung cấu hình các trường thông số của lệnh Smart Export Table trong RunMacro.

Khi nào nên dùng#

  • Bóc tách báo cáo tồn kho, danh sách hóa đơn từ các phần mềm nội bộ hoặc phần mềm cũ không có chức năng xuất Excel.
  • Trích xuất danh sách giao dịch ngân hàng, bảng lương hoặc dữ liệu đối soát để chuyển sang hệ thống khác.
  • Lưu dữ liệu bảng vào biến bộ nhớ JSON để vòng lặp Lặp lại (Loop) duyệt từng dòng và thực hiện tác vụ kế tiếp.
  • Sao lưu dữ liệu định kỳ từ ứng dụng quản lý kinh doanh máy tính ra tệp CSV lưu trữ.

Khi nào không nên dùng#

  • Trích xuất bảng dữ liệu trên trang web (nên dùng Smart HTML Table Scrape).
  • Hình ảnh bảng chụp scan (hãy dùng Scan OCR).

Các bước cấu hình#

  1. Trong RunMacro, chọn nhóm Tệp › Smart Export Table.
  2. Bấm 🎯 Chọn bảng (Pick Table/DataGrid) và rê chuột nhấp vào bảng dữ liệu trên phần mềm máy tính.
  3. Chọn định dạng xuất tại Lưu vào (Save to): Biến (variable), Excel (.xlsx), CSV, hoặc TXT.
  4. Nếu xuất ra file, nhập đường dẫn tệp tại ô Đường dẫn file (ví dụ: C:\BaoCao\HoaDon.xlsx).
  5. Tích chọn Bảng có tiêu đề (Has headers) nếu dòng đầu tiên là tên cột.
  6. Thiết lập Số dòng tối đa (Max rows) (nhập 0 nếu muốn lấy toàn bộ bảng).
  7. Bấm Lưu để hoàn tất cấu hình lệnh.

Giải thích từng tùy chọn#

🎯 Chọn bảng (Pick Table/DataGrid)#

Ngắm chọn đối tượng bảng mục tiêu trên màn hình để lưu định danh UIA Automation ID, Class và tiến trình của cửa sổ.

Lưu vào (Save to)#

Đích đến của dữ liệu: variable (lưu mảng JSON vào biến), excel (tạo file .xlsx), csv (tạo file .csv), hoặc txt (file văn bản phân cách tab).

Tên biến (Variable Name)#

Tên biến dùng khi chọn Save to = variable (mặc định table_data). Các lệnh tiếp theo có thể truy xuất qua cú pháp {table_data}.

Đường dẫn file (File Path)#

Đường dẫn tuyệt đối tới tệp lưu kết quả (hỗ trợ biến như C:\Data\export_{ngay_thang}.xlsx).

Bảng có tiêu đề (Has headers)#

Tự động coi dòng đầu tiên là tên cột để đặt header cho file Excel/CSV hoặc làm key cho từ điển JSON.

Số dòng tối đa (Max rows)#

Giới hạn số lượng hàng trích xuất. Nhập 0 để trích xuất không giới hạn toàn bộ bảng.

Kết quả mong đợi#

Một file Excel (.xlsx), CSV được tạo ra với đầy đủ các cột và hàng, hoặc biến bộ nhớ được gán mảng dữ liệu bảng.

Ví dụ thực tế#

Ví dụ: Xuất 200 dòng đơn hàng từ phần mềm bán hàng ra Excel#

  1. Thêm lệnh Smart Export Table.
  2. Chỉ điểm vào bảng danh sách đơn hàng trên giao diện POS.
  3. Chọn Lưu vào: Excel và điền đường dẫn D:\DonHang\DonHang_HomNay.xlsx.
  4. Đặt Số dòng tối đa là 200 và tích chọn Bảng có tiêu đề.
  5. Chạy lệnh — toàn bộ 200 đơn hàng được xuất thành file Excel ngay lập tức.

Giới hạn và trường hợp lỗi#

  • Các ứng dụng vẽ bảng bằng canvas không phơi bày UIA Tree cần dùng OCR vùng.
  • Bảng có hàng triệu dòng nên giới hạn Max Rows để tránh đầy RAM.

Mẹo & lỗi thường gặp#

Khi lưu vào biến (variable), bạn có thể dùng lệnh Lặp qua dòng dữ liệu (For Each Row) để tự động hóa xử lý từng đơn hàng một cách nhanh chóng.
Với bảng ảo hóa (UI Virtualization) chỉ render các hàng đang nhìn thấy, hãy kết hợp lệnh Smart Scroll để cuộn nạp toàn bộ trước khi trích xuất.

Thông tin kiểm chứng#

  • commands/smart_desktop_scrape_table.py · xác minh 2026-09-30
Robot biểu tượng của RunMacro

Công việc của robot. Thời gian của bạn.

Tạo robot trong vài phút, không cần lập trình. Chạy ổn định, quản lý từ xa, chi phí rõ ràng — và bạn luôn giữ quyền kiểm soát.