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 Bàn phím Smart Get Text
📋 Bàn phím

Lấy văn bản phần tử Desktop vào biến (Smart Get Text) trong RunMacro

Smart Get Text là lệnh đọc văn bản trực tiếp từ các control giao diện Desktop (TextBox, Label, Button) vào biến thông qua Windows UI Automation mà không cần bôi đen hay copy bàn phím.

Điều kiện cần#

  • Ứng dụng Desktop mục tiêu đang hiển thị trên màn hình.
  • Phần tử chứa chữ được chỉ điểm thành công.

Chế độ hỗ trợ#

  • Chế độ Desktop — Truy xuất qua UIA ValuePattern, TextPattern hoặc Name property.

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

Lệnh Smart Get Text (Smart Desktop Get Text) truy xuất trực tiếp chuỗi văn bản từ các đối tượng giao diện Desktop (như TextBox, Label, TextBlock, ComboBox, thanh trạng thái StatusBar hoặc nút bấm) thông qua các giao diện Microsoft UI Automation: ValuePattern.Value, TextPattern.GetVisibleRanges(), hoặc AutomationElement.CurrentName. Lệnh đọc dữ liệu trực tiếp trong bộ nhớ hệ điều hành mà không cần bôi đen hay gửi tổ hợp phím Ctrl+C, hỗ trợ lọc trích xuất bằng Regex Pattern và tự động cắt bỏ khoảng trắng thừa.

Hình ảnh & video#

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

Khi nào nên dùng#

  • Lấy mã hợp đồng, mã đơn hàng hoặc số hóa đơn vừa sinh ra sau khi tạo thành công trên phần mềm kế toán.
  • Đọc số dư tài khoản ngân hàng, tổng tiền thanh toán để dùng cho các bước kiểm tra điều kiện (IF).
  • Trích xuất câu thông báo lỗi hoặc cảnh báo xuất hiện trên màn hình để ghi log hoặc gửi tin nhắn Telegram.
  • Lấy mã số thuế, họ tên khách hàng từ phần mềm CRM đưa vào biến để điền vào phần mềm khác.

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

  • Trang web trình duyệt (dùng Smart HTML để đọc text từ DOM).
  • Văn bản dạng hình ảnh scan trong remote desktop (dùng Scan OCR).

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

  1. Trong RunMacro, chọn nhóm Bàn phím › Smart Get Text.
  2. Bấm 🎯 Chỉ điểm phần tử (Pick Element) và rê chuột chọn nhãn hoặc ô nhập liệu chứa văn bản cần đọc.
  3. Nhập tên biến tại ô Tên biến kết quả (Result Variable) (ví dụ: ma_don_hang).
  4. Nếu chỉ cần lấy số hoặc một đoạn văn bản cụ thể, nhập biểu thức tại ô Lọc Regex (Regex Pattern) (ví dụ: \d+ để lấy số).
  5. Tích chọn Cắt khoảng trắng thừa (Trim).
  6. Chọn Lưu vào: Biến (variable) hoặc Tệp văn bản (file).
  7. Bấm Lưu để hoàn tất.

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

🎯 Chỉ điểm phần tử (Pick Element)#

Ngắm chọn đối tượng UI chứa văn bản để RunMacro lưu định danh UIA tự động.

Tên biến kết quả (Result Variable)#

Biến bộ nhớ chứa chuỗi văn bản đã lấy (truy xuất downstream qua cú pháp {ten_bien}).

Lọc bằng Regex (Regex Pattern)#

Mẫu biểu thức chính quy để trích xuất nhóm con cụ thể (ví dụ HD[0-9]+ để trích mã hóa đơn). Để trống nếu muốn lấy toàn bộ văn bản.

Cắt khoảng trắng thừa (Trim)#

Tự động xóa khoảng trắng và ký tự xuống dòng thừa ở đầu và cuối chuỗi văn bản.

Thời gian chờ (Timeout ms)#

Thời gian tối đa chờ phần tử xuất hiện và có dữ liệu văn bản (mặc định 3000ms).

Kết quả mong đợi#

Văn bản của control được gán chính xác vào biến bộ nhớ hoặc file text chỉ định.

Ví dụ thực tế#

Ví dụ: Lấy tổng tiền thanh toán từ hóa đơn và lọc lấy số#

  1. Thêm lệnh Smart Get Text.
  2. Chỉ điểm vào nhãn hiển thị 'Tổng tiền: 1.500.000 VNĐ'.
  3. Đặt Tên biến kết quả là tong_tien_raw.
  4. Điền Regex Pattern là [0-9\.,]+ để loại bỏ chữ 'VNĐ'.
  5. Biến {tong_tien_raw} sau đó chứa chính xác 1.500.000.

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

  • Một số control tùy biến không đặt thuộc tính Name hoặc Value sẽ trả về chuỗi rỗng.
  • Control bị ẩn hoàn toàn khỏi cây UIA cần dùng Scan OCR.

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

Smart Get Text đọc được cả nội dung của các ô PasswordBox bị che dấu sao nếu ứng dụng phơi bày thuộc tính Value qua UIA.
Nếu phần tử là bảng nhiều dòng, hãy dùng Smart Export Table thay vì Smart Get Text để giữ nguyên cấu trúc cột.

Thông tin kiểm chứng#

  • commands/smart_desktop_get_text.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.