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 Luồng Vòng lặp For Each
🔁 Luồng

Duyệt danh sách dữ liệu với vòng lặp For Each trong RunMacro

Vòng lặp For Each lặp qua từng phần tử của danh sách (dòng chữ, file, mảng JSON, dải số, thư mục) và tự động gán dữ liệu vào biến.

Điều kiện cần#

  • Tệp nguồn hoặc mảng dữ liệu đã tồn tại và sẵn sàng truy cập.
  • Khai báo tên biến đích rõ ràng để các lệnh con bên trong sử dụng.

Chế độ hỗ trợ#

  • Chế độ Desktop
  • Chế độ Browser
  • RunMacro Runner

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

Lệnh Vòng lặp For Each duyệt tuần tự qua từng phần tử của một tập hợp dữ liệu. Hỗ trợ 5 nguồn dữ liệu mạnh mẽ: Từng dòng văn bản (Text Lines), Đọc từ tệp tin (File Lines), Mảng danh sách JSON (JSON Array), Dải số tự động (Numeric Range) kèm bước nhảy, và Quét tệp trong thư mục (Directory Files) theo mẫu đuôi mở rộng. Trong mỗi vòng lặp, giá trị phần tử hiện tại và chỉ số thứ tự (index) được tự động nạp vào biến đích, giúp xử lý hàng loạt dữ liệu cực kỳ dễ dàng.

Hình ảnh & video#

Giao diện cấu hình các trường thông số của lệnh Vòng lặp For Each trong RunMacro
Khung cấu hình các trường thông số của lệnh Vòng lặp For Each trong RunMacro.

Khi nào nên dùng#

  • Đọc từng dòng trong file danh sách tài khoản hoặc số điện thoại để thực hiện tự động hóa hàng loạt.
  • Duyệt qua danh sách file ảnh hoặc tài liệu trong thư mục để đổi tên hoặc tải lên.
  • Duyệt mảng đối tượng nhận về từ API JSON hoặc cơ sở dữ liệu.
  • Chạy lặp theo một dãy số thứ tự từ 1 đến N kèm bước nhảy.

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

  • Lặp lại một thao tác độc lập không phụ thuộc vào danh sách dữ liệu (dùng Vòng lặp Loop).
  • Cần kiểm tra trạng thái lặp dựa trên điều kiện biến đổi động (dùng While).

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

  1. Thêm lệnh Điều khiển luồng › Vòng lặp For Each.
  2. Chọn Nguồn dữ liệu (Source Type): Dòng văn bản, File, JSON Array, Dải số, hoặc Thư mục.
  3. Cung cấp dữ liệu nguồn tương ứng (nội dung text, đường dẫn file, chuỗi JSON, min-max-step, hoặc đường dẫn thư mục).
  4. Đặt tên Biến nhận giá trị (Item Variable) (ví dụ: item) và (tùy chọn) Biến chỉ số (Index Variable).
  5. Thêm các lệnh cần xử lý từng phần tử vào thân vòng lặp. Đóng bằng End Loop. Lưu.

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

Nguồn dữ liệu (Source Type)#

Loại tập hợp: Dòng văn bản (text), Tệp tin (file), Mảng JSON (json), Dải số (range), hoặc Tệp trong thư mục (folder).

Biến phần tử (Item Variable)#

Tên biến sẽ lưu giá trị của phần tử hiện tại trong mỗi vòng lặp.

Biến chỉ số (Index Variable)#

Tên biến lưu số thứ tự vòng lặp (bắt đầu từ 0).

Bộ lọc mẫu tệp (File Pattern)#

Bộ lọc đuôi tệp khi chọn nguồn thư mục (ví dụ: *.xlsx, *.png, *.txt).

Dải số (Min, Max, Step)#

Giá trị bắt đầu, kết thúc và bước nhảy khi duyệt dải số nguyên.

Kết quả mong đợi#

Mỗi phần tử trong tập dữ liệu được nạp vào biến đích và khối lệnh con được thực thi lần lượt cho đến hết danh sách.

Ví dụ thực tế#

Ví dụ: Duyệt từng dòng file danh sách để gõ vào form#

  1. Thêm For Each nguồn File: đường dẫn C:dataaccounts.txt.
  2. Biến phần tử: {tai_khoan}, Biến chỉ số: {idx}.
  3. Bên trong: Gõ {tai_khoan} vào ô input, click Nộp, Delay 1500ms.
  4. Đóng bằng End Loop. Kịch bản tự dừng khi hết dòng.

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

  • Nếu tệp nguồn bị xóa hoặc khóa quyền đọc trong khi đang lặp, vòng lặp sẽ phát sinh lỗi đọc dữ liệu.
  • Mảng JSON nguồn phải đúng chuẩn cú pháp JSON hợp lệ; chuỗi JSON lỗi sẽ khiến vòng lặp không thể khởi tạo.

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

Kết hợp lệnh Thoát vòng lặp (Break) bên trong For Each khi phát hiện một dòng dữ liệu đáp ứng mục tiêu để dừng duyệt sớm.
Khi duyệt file lớn, For Each đọc theo luồng tiết kiệm bộ nhớ RAM, bảo đảm chạy ổn định với tệp hàng chục nghìn dòng.

Thông tin kiểm chứng#

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