# Hướng Dẫn Cài Đặt VnTools Trên Microsoft 365 (Office 64-bit)

## 1. Kiểm Tra Phiên Bản Excel

Mở Excel:

```text
File → Account → About Excel
```

Kiểm tra thông tin:

```text
Microsoft Excel for Microsoft 365
Version xxxx (Build xxxxx.xxxxx) 64-bit
```

Nếu hiển thị **64-bit**, cần sử dụng phiên bản VnTools tương thích với Office 64-bit.

---

## 2. Cài Đặt VnTools

### Bước 1: Tải VnTools

Tải phiên bản VnTools hỗ trợ Office 365 / Office 64-bit từ NAS-Software/VNTools và cài đặt

### Bước 2: Thêm Add-in vào Excel

Mở Excel:

```text
File → Options → Add-ins
```

Tại mục **Manage**:

```text
Excel Add-ins → Go...
```

Chọn:

```text
Browse...
```

Trỏ tới file:

```text
VnTools.xla
```

hoặc

```text
VnTools.xlam
```

Sau đó tích chọn VnTools và nhấn **OK**.

### Bước 3: Khởi Động Lại Excel

Đóng toàn bộ cửa sổ Excel và mở lại.

---

## 3. Cho Phép Chạy Macro

Nếu Excel chặn macro:

```text
File → Options → Trust Center
→ Trust Center Settings
→ Macro Settings
```

Chọn:

```text
Enable VBA Macros
```

và đánh dấu:

```text
Trust access to the VBA project object model
```

Khởi động lại Excel.

---

# Khắc Phục Sự Cố

## Lỗi: Cannot run the macro 'SetFuncShow'

### Thông báo

```text
Cannot run the macro 'SetFuncShow'.
The macro may not be available in this workbook
or all macros may be disabled.
```

### Nguyên nhân

* Macro đang bị vô hiệu hóa.
* Add-in VnTools chưa được nạp.
* VnTools không tương thích với phiên bản Office hiện tại.

### Cách xử lý

1. Kiểm tra Macro Settings.
2. Kiểm tra Add-ins đã được tích chọn hay chưa.
3. Cài lại VnTools tương thích với Office đang sử dụng.

---

## Lỗi: Compile error in hidden module: regAPI

### Thông báo

```text
Compile error in hidden module: regAPI.
This error commonly occurs when code is incompatible
with the version, platform, or architecture of this application.
```

### Nguyên nhân

Đây là lỗi phổ biến khi:

* Đang sử dụng Office 64-bit.
* VnTools được viết cho Office 32-bit.
* Module VBA chứa các khai báo Windows API cũ không hỗ trợ 64-bit.

Ví dụ các khai báo cũ:

```vb
Declare Function ...
Declare Sub ...
```

Trong Office 64-bit phải được chuyển thành:

```vb
#If VBA7 Then
    Private Declare PtrSafe Function ...
#Else
    Private Declare Function ...
#End If
```

### Cách xử lý

#### Cách 1: Cài bản VnTools hỗ trợ 64-bit

Khuyến nghị sử dụng.

#### Cách 2: Chuyển sang Office 32-bit

Nếu bắt buộc phải dùng VnTools cũ:

1. Gỡ Office 365 64-bit.
2. Cài Office 365 32-bit.
3. Cài lại VnTools.

#### Cách 3: Sửa mã VBA

Chỉ áp dụng khi có quyền chỉnh sửa mã nguồn VnTools.

Mở:

```text
Alt + F11
```

Tìm module:

```text
regAPI
```

Cập nhật toàn bộ khai báo API sang chuẩn `PtrSafe`.

---

## Lỗi: frmAbout / frmAbount

### Triệu chứng

Xuất hiện lỗi liên quan tới:

```text
frmAbout
```

hoặc

```text
frmAbount
```

### Nguyên nhân

* Form VBA bị lỗi.
* Add-in không tương thích Office 64-bit.
* Thư viện VBA bị thiếu (Missing Reference).

### Cách xử lý

Mở VBA Editor:

```text
Alt + F11
```

Kiểm tra:

```text
Tools → References
```

Nếu thấy:

```text
MISSING:
```

bỏ chọn hoặc cập nhật thư viện tương ứng.

Nếu VBA Project bị khóa mật khẩu, cần sử dụng phiên bản VnTools tương thích hoặc liên hệ nhà cung cấp.

---

## Kiểm Tra Add-in Đã Được Nạp Chưa

```text
File → Options → Add-ins
```

Tại mục:

```text
Manage → Excel Add-ins → Go...
```

Đảm bảo VnTools đang được tích chọn.

---

## Khuyến Nghị

Đối với Microsoft 365 64-bit:

* Ưu tiên sử dụng VnTools phiên bản hỗ trợ 64-bit.
* Tránh sử dụng các bản VnTools quá cũ được phát hành cho Office 2007/2010.
* Nếu gặp lỗi `regAPI`, nguyên nhân thường là không tương thích giữa VnTools 32-bit và Office 64-bit.