Chuyển đổi macro VBA thành Apps Script

Trước khi bắt đầu

Bạn nên cập nhật các API không tương thích trong mã VBA trước khi chuyển đổi các tệp. Đối với các tệp có trạng thái Được hỗ trợ chính xác, bạn có thể chuyển sang Bước 1: Chuyển đổi tệp.

Sửa đổi các API VBA không tương thích

Đối với các tệp có trạng thái Được hỗ trợ bằng cách giải quyết hoặc Cần điều tra, bạn có thể áp dụng các giải pháp và cách khắc phục sau khi chuyển đổi trong Apps Script, nhưng bạn nên sửa đổi mã VBA mà bạn quen trước trước khi chuyển đổi tệp.

Đối với mỗi API được đánh dấu là Được hỗ trợ bằng cách giải quyết hoặc Cần điều tra trong báo cáo về khả năng tương thích, bạn nên làm như sau:

  • Nếu hàm do API thực hiện không quan trọng để macro VBA hoạt động đúng cách, hãy xoá hàm đó khỏi mã VBA. Nếu có, hãy thay đổi mã để triển khai hành vi tương tự với các API VBA được hỗ trợ.
  • Đối với các API có trạng thái Được hỗ trợ bằng cách giải quyết, nếu bạn không thể chuyển sang API VBA được hỗ trợ, hãy giữ nguyên API VBA. Sau khi chuyển đổi sang Tập lệnh Apps, bạn nên đưa ra giải pháp đã biết cho API này trong phần nhận xét của mã Apps Script đã chuyển đổi.
  • Nếu vấn đề bắt nguồn từ một cấu trúc ngôn ngữ chưa được triển khai, hãy viết lại mã để tránh sử dụng các cấu trúc đó.
  • Đối với các API có trạng thái Cần điều tra, hãy kiểm tra xem mã của bạn có chứa bất kỳ API nào sau đây hay không:

    • Adodb.connection
    • CreateObject: API này thường được dùng để kết nối với cơ sở dữ liệu và phần mềm lập kế hoạch tài nguyên doanh nghiệp.
    • Shell.execute
    • OleObject

    Nếu có, bạn không nên chuyển đổi các tệp chứa các API này và nên điều tra các tuỳ chọn khác. Các API này có xu hướng thực hiện các thao tác quan trọng cho macro, như kết nối với cơ sở dữ liệu hoặc truy cập vào tài nguyên cục bộ và Apps Script thường không phải là một giải pháp hiệu quả.

Bước 1: Chuyển đổi tệp

  1. Trên máy tính, hãy mở Google Drive.
  2. Trên bảng điều khiển bên phải, nhấp vào tiện ích bổ sung Trình chuyển đổi macro Biểu tượng Trình chuyển đổi macro. Nếu bạn không thấy bảng điều khiển bên, ở dưới cùng bên phải, hãy nhấp vào biểu tượng Hiện bảng điều khiển bên .
  3. Nhấp vào Thêm tệp và thư mục. Trình chuyển đổi macro chỉ nhận dạng được tệp Excel.
  4. Chọn tệp hoặc thư mục bạn muốn chuyển đổi rồi nhấp vào Chọn. Chọn ít hơn 2.000 tệp cùng lúc.
  5. Để thay đổi vị trí lưu các tệp đã chuyển đổi, hãy nhấp vào biểu tượng Thay đổi thư mục đích rồi chọn thư mục bạn muốn. Nếu không, tệp sẽ được lưu trong thư mục MyDrive của bạn.
  6. Nhấp vào Chuyển đổi.
  7. Khi quá trình chuyển đổi hoàn tất, hãy nhấp vào Xem kết quả.

Bước 2: Kiểm tra tệp đã chuyển đổi

Chạy mã Apps Script

Sau khi bạn chuyển đổi tệp, hãy kiểm thử các hàm của Apps Script. Kiểm thử các tệp đã chuyển đổi với dữ liệu mà bạn thường dùng với tệp Excel. Nếu có thể, hãy so sánh kết quả của tệp Trang tính đã chuyển đổi với kết quả của các tệp Excel gốc.

Thử nghiệm trình kích hoạt

Nếu tệp của bạn chứa các điều kiện kích hoạt như onOpen(), onEdit() hoặc onClick(), hãy kiểm thử cả điều kiện kích hoạt. Một số điều kiện kích hoạt VBA sẽ không tự động chuyển đổi và cần được giải quyết trong Apps Script. Hãy xem bài viết Giải quyết các vấn đề thường gặp.

Xem lại tệp ReadMe

Nếu tệp ReadMe được tạo bằng tệp đã chuyển đổi, hãy xem lại các vấn đề về chuyển đổi được liệt kê trong tệp ReadMe.

  • Nếu các vấn đề có thể gây ra vấn đề trong trường hợp bạn chưa kiểm thử, hãy áp dụng các thay đổi đề xuất cho mã của bạn.
  • Nếu bạn đã kiểm thử tất cả tình huống có thể xảy ra và mọi thứ hoạt động như dự kiến, thì có lẽ bạn không cần phải thay đổi.

Bước 3: Sửa lỗi

Nếu bạn gặp lỗi trong khi kiểm thử tệp, hãy xem phần Sửa lỗi trong mã chuyển đổi.

Nếu mã chạy không có lỗi nhưng kết quả không như bạn mong đợi, hãy mở tệp ReadMe của tệp. Xem xét từng phần để xác định nguyên nhân gây ra vấn đề và áp dụng cách khắc phục được đề xuất.

Sau khi bạn sửa lỗi, hãy kiểm thử lại tệp để đảm bảo mọi thứ hoạt động như dự kiến.