AaVBA - Không có BB

Hướng dẫn này sẽ dạy bạn về Mô-đun lớp trong VBA. Bạn sẽ tìm hiểu chúng là gì và cách sử dụng chúng.

Mô-đun lớp VBA - Giới thiệu

Khi bạn chèn mô-đun vào Visual Basic Editor (VBE) để nhập mã của mình, bạn có thể nhận thấy rằng bạn cũng có thể chèn cái được gọi là ‘Mô-đun lớp’.

Mô-đun lớp so với mô-đun

Các mô-đun lớp hoạt động theo một cách rất khác với các mô-đun thông thường ở chỗ chúng tạo điều kiện thuận lợi cho việc tạo Mô hình đối tượng thành phần (COM) sau đó có thể được sử dụng trong mã VBA thông thường của bạn

Một cách hiệu quả, bạn tạo một đối tượng hoạt động giống như một đối tượng được xây dựng trong Excel, chẳng hạn như ‘Trang tính’. Trong Đối tượng Trang tính, bạn có một số thuộc tính và phương pháp cho phép bạn lấy số lượng trang tính trong sổ làm việc hoặc từng tên riêng lẻ của trang tính hoặc nhiều thông tin khác

Khi bạn tạo một Đối tượng mới theo cách này, bạn đang tạo một khối xây dựng có thể được sử dụng ở bất kỳ đâu trong VBA. Đối tượng có một số thuộc tính và phương thức có thể được truy cập bằng mã VBA của bạn từ bất kỳ đâu trong sổ làm việc mà không cần phải tiếp tục viết lại mã nhiều lần.

Ngoài việc đề cập đến đối tượng mới của bạn từ một mô-đun VBA tiêu chuẩn, bạn cũng có thể sử dụng nó trong mã đằng sau UserForm là một phần của ứng dụng tùy chỉnh của bạn

Bạn cũng có thể sử dụng nó khi bạn đã đặt các điều khiển Active X vào trang tính, chẳng hạn như nút lệnh hoặc trình đơn thả xuống. Tất cả các điều khiển này đều sử dụng VBA và đối tượng mới của bạn có thể dễ dàng được kết hợp vào mã sự kiện cho các điều khiển này.

Bạn cũng có thể biến đối tượng của mình thành một bổ trợ Excel. Đối tượng của bạn sẽ tự động có sẵn cho những người dùng khác đã tải bổ trợ đó. Điều này thêm kiến ​​trúc nhiều tầng của riêng bạn vào ứng dụng Excel của bạn

Excel là một ứng dụng nhiều tầng. Có lớp dịch vụ khách, lớp này điều khiển cửa sổ trang tính thực tế mà người dùng đã quen thuộc. Mô hình đối tượng Excel là lớp tiếp theo bên dưới. Nhấn F2 trong một mô-đun VBA và bạn sẽ có thể thấy số lượng lớn các đối tượng và các thành viên của những đối tượng đó là động cơ của Excel. Lưu ý rằng đối tượng mới của bạn cũng sẽ được hiển thị ở đây.

Cuối cùng, bên dưới tất cả những điều này, bạn có lớp dịch vụ dữ liệu chứa tất cả dữ liệu mà bạn đã nhập vào trang tính và ô. Excel truy cập điều này bằng cách sử dụng mô hình Đối tượng Excel.

Tạo Mô-đun lớp cho phép bạn mở rộng Mô-đun đối tượng Excel với các đối tượng và thành viên tùy chỉnh của riêng bạn

Bài viết này giải thích cho bạn cách tạo một cấu trúc phân cấp đơn giản của các đối tượng bằng cách sử dụng Mô-đun Lớp.

Ưu điểm của việc sử dụng mô-đun lớp

  1. Bạn có thể phát triển một khối xây dựng mạnh mẽ có thể được sử dụng trong bất kỳ ứng dụng Excel nào khác nhau
  2. Sau khi nó được kiểm tra kỹ lưỡng, thì nó có thể được tin cậy để luôn tạo ra kết quả chính xác theo cách giống như các đối tượng Excel tích hợp sẵn
  3. Nếu cập nhật được thực hiện cho mã ở nơi khác trong ứng dụng, đối tượng mới sẽ vẫn tiếp tục hoạt động theo cách tương tự
  4. Bạn có thể sử dụng đối tượng mới của mình trong các ứng dụng Excel khác làm phần bổ trợ
  5. Các đối tượng có thể được sử dụng lại trong các ứng dụng khác và giúp gỡ lỗi

Nhược điểm của việc sử dụng mô-đun lớp

  1. Chúng có thể khó tạo và khó hiểu.
  2. Quy ước đặt tên rất quan trọng vì đây là những gì bạn sẽ thấy khi sử dụng đối tượng của mình trong một mô-đun bình thường.
  3. Nếu bạn chưa tạo mô-đun lớp trước đó, chúng có thể khó hiểu và có một đường cong học tập khó khăn
  4. Không thể thực hiện thay đổi trong thời gian chạy - bạn phải thiết lập lại dự án.
  5. Nếu Thuộc tính và Biến Riêng có cùng tên thì các vòng lặp vô hạn có thể xảy ra dẫn đến lỗi

Chèn một mô-đun lớp

Chọn Chèn | Mô-đun lớp từ trình đơn VBE (Visual Basic Editor). Mô-đun lớp mới sẽ tự động được gọi là ‘Lớp 1’, nhưng điều này cần được thay đổi ngay lập tức thành tên mà bạn sẽ sử dụng cho đối tượng của mình

Bạn thay đổi tên trong cửa sổ Thuộc tính nơi mũi tên đang trỏ. Bạn chỉ cần nhập tên mới của mình và điều này sẽ thay đổi trong bộ sưu tập Mô-đun Lớp

Nếu cửa sổ Thuộc tính không hiển thị, hãy chọn Xem | Thuộc tính trên menu VBE hoặc nhấn F4

Gọi mô-đun lớp mới của bạn là ‘MyItem’ và nhấp đúp vào tên trong chế độ xem dạng cây trong Project Explorer để hiển thị cửa sổ mã cho nó.

Tạo một mục đối tượng

Ví dụ này sẽ tạo một đối tượng cấp cao nhất được gọi là ‘MyItems’ với một đối tượng thành viên bên dưới nó được gọi là ‘MyItem’, đối tượng này sẽ chứa dữ liệu riêng lẻ cho từng mục. Sau khi được tạo, nó sẽ hoạt động giống như một Đối tượng được xây dựng trong Excel. Ví dụ: có một đối tượng được gọi là 'Trang tính', là một bộ sưu tập của mỗi trang tính trong sổ làm việc của bạn. Ngoài ra còn có một đối tượng được gọi là ‘Trang tính’ đại diện cho từng trang tính riêng lẻ trong sổ làm việc của bạn và chứa tất cả các thuộc tính và phương thức cho mỗi trang tính. Đối tượng này liên quan đến đối tượng bộ sưu tập ‘Worksheets’.

Bạn có thể duyệt qua bộ sưu tập ‘Trang tính’, xem lần lượt từng ‘Trang tính’. Theo cách tương tự, bạn sẽ có thể lặp qua bộ sưu tập ‘MyItems’ để xem các thuộc tính mà bạn đã tạo trong thành viên ‘Myitem’.

Điều đầu tiên cần làm là tạo đối tượng phụ cho cấp độ thành viên, đối tượng này sẽ chứa các mục thực tế trong bộ sưu tập của đối tượng cấp cao nhất. Điều này tương đương với các thành viên (ví dụ: tên, hiển thị, số lượng) trong đối tượng ‘Trang tính’ trong Excel. Mã này được nhập vào mô-đun lớp có tên là ‘MyItem’

Các mô-đun lớp có Thuộc tính và Phương thức. Các thuộc tính giống như các biến một cách hiệu quả, ở chỗ chúng chứa các giá trị của dữ liệu giống như các biến, và các Phương thức giống như các hàm con hoặc các hàm.

Trong đối tượng phụ, chúng ta sẽ tạo hai thuộc tính cho đối tượng - Mục và Chi tiết

Ban đầu, hai biến chuỗi cần được khai báo để giữ các giá trị cho các thuộc tính:

12 MItem riêng tư dưới dạng chuỗiPrivate mDetail As String

Chúng cần được khai báo trong phần Khai báo ở đầu mã cho mô-đun lớp để chúng có thể được sử dụng trong tất cả các quy trình con trong toàn mô-đun

Chúng cần được đặt tên duy nhất để làm cho chúng khác với các thuộc tính mà chúng ta sẽ tạo, vì vậy, một ‘m’ (cho thành viên) đã được đặt trước mỗi tên.

Các biến được khai báo là Riêng tư nên không ai sử dụng đối tượng này có thể nhìn thấy chúng. Chúng là các biến làm việc để sử dụng trong mã đối tượng và không có ở đó như một phần của đối tượng cuối cùng.

Bước tiếp theo là thiết lập mã để cấp quyền truy cập vào hai thuộc tính. Bạn thực hiện điều này thông qua một tuyên bố Cho phép Tài sản và một Tuyên bố Nhận Tài sản cho mỗi tài sản. Đây phải là Công khai nếu không đối tượng cấp cao nhất sẽ không có bất kỳ thuộc tính hiển thị nào

123456789101112131415 Thuộc tính công cộng để mục (vdata dưới dạng chuỗi)mItem = vdataThuộc tính cuốiThuộc tính công Nhận mục () dưới dạng chuỗiItem = mItemThuộc tính cuốiTài sản công khai chi tiết (vdata dưới dạng chuỗi)mDetail = vdataThuộc tính cuốiSở hữu công cộng Nhận chi tiết () Dưới dạng chuỗiChi tiết = mDetailThuộc tính cuối

Mã này tạo ra phương tiện để đọc và ghi giá trị cho hai thuộc tính (Mục và Chi tiết) bằng cách sử dụng hai biến riêng đã được xác định trong phần khai báo của mô-đun.

Tham số ‘vdata’ được sử dụng để truyền dữ liệu đến thuộc tính liên quan.

Điều quan trọng là mỗi thuộc tính phải có câu lệnh ‘Let’ và ‘Get’ và tên thuộc tính giống nhau trong mỗi trường hợp. Bạn có thể có hai thuộc tính khác nhau nếu viết sai chính tả - một thuộc tính bạn có thể đọc và một thuộc tính bạn có thể ghi vào!

Để giúp tạo mã này, bạn có thể sử dụng Chèn | Quy trình trên menu VBE để tạo khung mã sẽ tạo mã ban đầu cho các thuộc tính ‘Get’ và ‘Let’ cho một tên thuộc tính nhất định

Thao tác này sẽ hiển thị một cửa sổ bật lên nơi bạn nhập tên thuộc tính vào và chọn 'Thuộc tính' trên các nút radio:

Nhấp vào 'OK' và mã khung sẽ được thêm vào mô-đun lớp:

1234567 Public Property Lấy MyProperty () as VariantThuộc tính cuốiSở hữu công cộng Cho phép thuộc tính của tôi (ByVal vNewValue làm biến thể)Thuộc tính cuối

Điều này ngăn ngừa bất kỳ sai lầm nào về tên của các thuộc tính. Bạn chỉ cần thêm mã của mình vào giữa các câu lệnh "Thuộc tính công cộng" và "Thuộc tính kết thúc".

Bây giờ bạn có một đối tượng có tên là ‘MyItem’ sẽ chứa tất cả dữ liệu cho bài tập này.

Bạn mệt mỏi với việc tìm kiếm ví dụ về mã VBA? Hãy thử AutoMacro!

Tạo một Bộ sưu tập

Giai đoạn tiếp theo là tạo một đối tượng cấp cao nhất làm đối tượng Bộ sưu tập để cấp quyền truy cập vào các thuộc tính mà bạn đã thiết lập trong đối tượng ‘MyItem’

Một lần nữa, bạn cần phải xác định một đối tượng đang làm việc để hoạt động như một đối tượng bộ sưu tập giống như cách mà bạn đã xác định hai biến chuỗi trong đối tượng ‘MyItem’.

1 MItems riêng tư dưới dạng bộ sưu tập

Một lần nữa, điều này phải có một tên duy nhất, đó là lý do tại sao có 'm' (đối tượng thành viên) ở phía trước tên và nó cũng được khai báo là 'Riêng tư' để nó không xuất hiện khi đối tượng mới đang được đã sử dụng

Tiếp theo, bạn cần điền mã Class_Initialize. Điều này chạy khi bạn lần đầu tiên sử dụng đối tượng trong mã của mình và nó xác định những giá trị nào sẽ được tải vào đối tượng

Bạn có thể truy cập quy trình phụ này bằng cách chọn ‘Lớp’ trong menu thả xuống đầu tiên và ‘Khởi tạo’ trong menu thả xuống thứ hai của cửa sổ mô-đun

12345678910 Private Sub Class_Initialize ()Dim objItem As MyItemĐặt mItems = Bộ sưu tập mớiĐối với n = 1 đến 3Đặt objItem = MyItem mớiobjItem.Item = Worksheets ("Sheet1"). Range ("a" & n) .ValueobjItem.Detail = Worksheets ("Sheet1"). Phạm vi ("b" & n). Giá trịmItems.Add objItemTiếp theo nKết thúc Sub

Mã thiết lập một đối tượng được gọi là 'objItem' bằng cách sử dụng định nghĩa của 'MyItem' mà chúng tôi đã xây dựng dưới dạng mô-đun lớp trước đó.

Sau đó, nó tạo một Bộ sưu tập mới dựa trên đối tượng ‘mItems’ được xác định trước đó

Nó lặp qua các giá trị được giữ trên Sheet1 của sổ làm việc và đặt chúng vào các thuộc tính mà chúng tôi đã tạo cho đối tượng ‘MyItem’. Lưu ý rằng khi bạn sử dụng 'objitem', một danh sách thả xuống sẽ xuất hiện hiển thị hai thuộc tính, giống như khi bạn đang sử dụng một đối tượng Excel tích hợp sẵn.

Sau đó, đối tượng item được thêm vào đối tượng collection hiện chứa tất cả dữ liệu trong các giá trị thuộc tính.

Dữ liệu đầu vào không phải lấy từ trang tính. Nó có thể là các giá trị tĩnh hoặc nó có thể đến từ một kết nối với cơ sở dữ liệu như Microsoft Access hoặc SQL Server, hoặc nó có thể đến từ một trang tính khác.

Sau đó, bạn cần thêm một chức năng công khai có tên là 'Item'

123 Mục chức năng công khai (chỉ mục dưới dạng số nguyên) dưới dạng mục của tôiĐặt mục = mItems.Item (chỉ mục)Chức năng kết thúc

Điều này cho phép bạn tham chiếu đến các đối tượng riêng lẻ trong đối tượng bộ sưu tập theo số chỉ mục của chúng. Chức năng này cung cấp một ‘bản sao’ về những gì đang diễn ra trong bộ sưu tập ‘mMyItems’ ở chế độ nền.

Bạn cũng sẽ cần thêm một thuộc tính có tên là "Count" để mã của bạn có thể thiết lập bao nhiêu đối tượng ‘MyItem’ trong bộ sưu tập ‘MyItems’, nếu bạn muốn lặp lại qua nó.

123 Tài sản công được tính () Trong thời gian dàiĐếm = mItems.CountThuộc tính cuối

Trong trường hợp này, bạn chỉ cần thuộc tính ‘Get’ vì nó ở chế độ chỉ đọc. Nó sử dụng bộ sưu tập mItems vì bộ sưu tập này đã có thuộc tính count được tích hợp sẵn.

Bây giờ bạn có một đối tượng (MyItems) với hệ thống phân cấp đầy đủ được xác định bởi đối tượng ‘MyItem’

Để làm cho toàn bộ hoạt động, bây giờ bạn cần điền vào một trang tính (Sheet1) với dữ liệu để quy trình Khởi tạo Lớp có thể thu thập dữ liệu này vào đối tượng

Bảng tính của bạn sẽ trông như thế này:

Sử dụng đối tượng mới của bạn

Bây giờ bạn có thể sử dụng đối tượng Bộ sưu tập (MyItems) của mình trong mô-đun VBA Excel tiêu chuẩn. Nhập mã sau:

12345678 Sub test_object ()Dim MyClass as New MyItems, n As IntegerMsgBox MyClass.CountĐối với n = 1 Đến MyClass.CountMsgBox MyClass.Item (n) .ItemMsgBox MyClass.Item (n) .DetailTiếp theo nKết thúc Sub

Mã này tạo một đối tượng có tên là ‘MyClass’ dựa trên đối tượng bộ sưu tập mà bạn đã tạo có tên là ‘MyItems’. Điều này kích hoạt quy trình ‘Khởi tạo’ trích xuất tất cả dữ liệu từ trang tính vào đối tượng.

Nó hiển thị số lượng các mục trong bộ sưu tập và sau đó lặp lại qua bộ sưu tập hiển thị văn bản "Mục" và văn bản "Chi tiết". Bạn sẽ nhận thấy rằng khi bạn tham chiếu đến đối tượng ‘MyClass’ trong mã của mình, bạn sẽ thấy danh sách hai thuộc tính thành viên giúp thêm thuộc tính chính xác.

Nếu bạn thay đổi giá trị của ô trong dữ liệu đầu vào trên bảng tính, điều này sẽ tự động được cập nhật trong bộ sưu tập khi bạn chạy lại đoạn mã trên, vì khi bạn kích thước đối tượng, quy trình khởi tạo sẽ chạy và lấy tất cả dữ liệu mới

Nếu bạn sử dụng từ ‘Static’ thay vì ‘Dim’, quy trình khởi tạo sẽ không chạy và các giá trị cũ được giữ lại, miễn là mã liên tục chạy. Nếu dữ liệu trên bảng tính thay đổi, điều này sẽ không được phản ánh trong đối tượng

1234567 Sub Test_Static ()Myclass tĩnh dưới dạng MyItems mới, n là số nguyênĐối với n = 1 Đến Myclass.CountMsgBox Myclass.Item (n) .ItemMsgBox Myclass.Item (n) .DetailTiếp theo nKết thúc Sub

Tóm tắt về việc tạo một đối tượng bằng mô-đun lớp

Như bạn đã thấy, việc tạo một hệ thống phân cấp các mô-đun lớp để sử dụng như một đối tượng là một công việc khá phức tạp, ngay cả đối với một cấu trúc đơn giản như ví dụ được cung cấp ở đây. Phạm vi phạm sai lầm là rất lớn!

Tuy nhiên, nó có những lợi thế rất lớn trong việc làm cho mã của bạn trở nên thanh lịch hơn và dễ đọc hơn. Việc chia sẻ với các nhà phát triển và ứng dụng Excel khác cũng dễ dàng hơn bằng cách biến nó thành một Phần bổ trợ.

Trong ví dụ này về cách tạo một đối tượng để lưu giữ dữ liệu, sẽ là một cách tiếp cận thông thường để tạo một mảng đa chiều để chứa dữ liệu bảng tính nhiều cột và bạn sẽ viết một dòng mã để cập nhật hoặc đọc từng phần tử trong mảng. Điều này có thể sẽ khá lộn xộn và có thể dễ dàng mắc sai lầm khi giải quyết các yếu tố khác nhau.

Với đối tượng mới của bạn, bạn có thể chỉ cần tham khảo nó và các thành viên mà bạn đã tạo bên dưới nó để lưu giữ dữ liệu.

Ngoài ra, nếu dữ liệu thay đổi trong bảng tính (hoặc trong cơ sở dữ liệu được liên kết nếu bạn đã sử dụng dữ liệu này làm nguồn dữ liệu trong mô-đun lớp của mình) bất cứ khi nào bạn sử dụng câu lệnh 'Dim', quy trình khởi tạo sẽ được gọi và dữ liệu sẽ được cập nhật ngay lập tức . Không cần phải viết mã để điền lại mảng của bạn.

Sử dụng mô-đun lớp để tạo kho lưu trữ biến

Khi bạn viết mã VBA, bạn sử dụng các biến ở khắp nơi, tất cả với các phạm vi khác nhau. Một số có thể chỉ được xác định cho một thủ tục cụ thể, một số cho một mô-đun cụ thể và một số có thể là các biến toàn cục có thể được sử dụng trên toàn bộ ứng dụng

Bạn có thể tạo một mô-đun lớp sẽ chứa một số lượng lớn các biến và vì nó là một đối tượng, nó có thể được sử dụng ở bất kỳ đâu trong mã của bạn, ngay cả trên biểu mẫu người dùng hoặc trong điều khiển Active X mà bạn đã đặt trên trang tính.

Ưu điểm bổ sung là khi bạn tham chiếu đến đối tượng biến của mình, bạn sẽ thấy danh sách tất cả các tên biến có trong đối tượng được sắp xếp theo thứ tự tăng dần.

Để tạo một kho lưu trữ, bạn cần chèn một mô-đun lớp mới. Bạn thực hiện việc này bằng cách sử dụng Chèn | Mô-đun lớp từ menu VB Editor

Thay đổi tên thành ‘MyVariables’ bằng cách sử dụng cùng một phương pháp như đã thảo luận trước đó trong bài viết này.

Nhập mã sau:

12345678910111213141516 MV riêng tư như một biến thểThuộc tính công Nhận biến1 () làm biến thểBiến 1 = mVThuộc tính cuốiThuộc tính công cộng Cho phép biến1 (ByVal vNewValue làm biến thể)mV = vNewValueThuộc tính cuốiThuộc tính công Nhận biến2 () làm biến thểBiến 1 = mVThuộc tính cuốiThuộc tính công cộng Cho phép biến thể2 (ByVal vNewValue làm biến thể)mV = vNewValueThuộc tính cuối

Đoạn mã này thiết lập thuộc tính ‘Let’ và ‘Get’ cho hai biến (‘Variable1’ và ‘Variable2’). Thuộc tính Let và Get là bắt buộc đối với mỗi biến của bạn để chúng được đọc / ghi

Bạn có thể sử dụng tên riêng của mình cho các biến thay vì tên mẫu trong mã này và bạn có thể thêm các biến khác, đảm bảo rằng mỗi biến mới có câu lệnh ‘Let’ và ‘Get’.

Khai báo riêng của biến ‘mV’ là tạo một biến đang làm việc chỉ được sử dụng trong mô-đun lớp để chuyển các giá trị.

Để sử dụng kho lưu trữ biến, hãy nhập mã sau vào mô-đun chuẩn:

123456 Global VarRepo dưới dạng MyVariables mớiSub TestVariableRepository ()MsgBox VarRepo.Variable1VarRepo.Variable1 = 10MsgBox VarRepo.Variable1Kết thúc Sub

Mã này tạo một phiên bản chung của đối tượng ‘MyVariables’ mà bạn đã tạo. Bạn chỉ cần thực hiện khai báo này một lần từ bất kỳ đâu trong mã của bạn.

Đầu tiên, mã hiển thị giá trị của ‘Variable1’ để cho biết rằng nó đang trống.

Giá trị 10 được gán cho ‘Variable1’ và giá trị mới bên trong đối tượng sau đó được hiển thị để cho thấy thuộc tính này hiện giữ giá trị này.

Vì phiên bản của đối tượng ‘MyVariables’ đã được xác định trên toàn cầu, bạn có thể tham chiếu đến bất kỳ biến nào được xác định trong đối tượng từ bất kỳ đâu trong mã của bạn.

Điều này có một lợi thế lớn ở chỗ nếu bạn muốn sử dụng các biến của mình ở bất kỳ đâu trong mã của mình, bạn chỉ cần xác định một biến toàn cục và từ trường hợp đó, tất cả các biến có thể được truy cập và sửa đổi tự do trong suốt mã của bạn.

Sản phẩm tuyệt vời. AutoMacro không chỉ viết mã của bạn, nó dạy khi bạn tiếp tục! "- Tony, Vương quốc Anh

Tìm hiểu thêm

Đọc hơn 900 bài đánh giá của chúng tôi

Biến đối tượng của bạn thành một bổ trợ

Cho đến nay, mã để tạo đối tượng nằm trong ứng dụng sổ làm việc của bạn. Tuy nhiên, nếu bạn muốn có thể chia sẻ đối tượng của mình với các nhà phát triển khác hoặc trong các ứng dụng Excel khác của riêng bạn, bạn có thể biến nó thành một Bổ trợ

Để làm được điều này, tất cả những gì cần xảy ra là lưu tệp dưới dạng Phần bổ trợ. Chọn tệp | Save As và một cửa sổ trình duyệt sẽ xuất hiện

Chọn loại tệp là Phần bổ trợ (.xlam) từ loại tệp thả xuống và nhấp vào OK. Tệp sẽ được lưu vào thư mục Add-In theo mặc định, nhưng bạn có thể thay đổi vị trí.

Sau đó, bạn có thể kết hợp tệp bổ trợ vào các ứng dụng Excel của mình, cho phép bạn sử dụng đối tượng mới một cách linh hoạt

Để đưa Phần bổ trợ mới của bạn vào Excel, hãy bấm vào Tệp trên dải băng Excel, sau đó bấm vào Tùy chọn ở cuối ngăn bên trái

Nhấp vào ‘Add-Ins’ trong ngăn bên trái trong cửa sổ bật lên xuất hiện. Ở cuối cửa sổ có một nút được đánh dấu là "Bắt đầu"

Nhấp vào đây và cửa sổ bật lên ‘Add-In’ sẽ xuất hiện. Nhấp vào ‘Duyệt qua’ và sau đó tìm tệp Bổ trợ của bạn. Sau đó, bạn sẽ có thể tham chiếu đến đối tượng của mình trong mã của bạn.

Bạn sẽ giúp sự phát triển của trang web, chia sẻ trang web với bạn bè

wave wave wave wave wave