VBA Save File - 20 ví dụ dễ dàng - ví dụ mã VBA

Hướng dẫn VBA này trình bày cách lưu tệp bằng lệnh Lưu và Lưu dưới dạng trong VBA.

Lưu sổ làm việc - VBA

Lệnh VBA Save lưu tệp Excel tương tự như cách nhấp vào biểu tượng Lưu hoặc sử dụng Phím tắt Lưu (CTRL + S).

Lưu một sổ làm việc đã chỉ định

Để lưu sổ làm việc, hãy tham chiếu đối tượng sổ làm việc và sử dụng lệnh Lưu.

1 Sổ làm việc ("savefile.xlsm"). Lưu

Lưu Sổ làm việc Hoạt động

Lưu ý: Đây là sổ làm việc đang hoạt động hiện tại từ mã VBA, khác với ThisWorkbook chứa mã đang chạy.

1 ActiveWorkbook.Save

Lưu sổ làm việc nơi mã được lưu trữ

1 ThisWorkbook.save

Lưu tất cả các sổ làm việc đang mở

Thao tác này sẽ lặp qua tất cả các sổ làm việc đang mở, lưu từng sổ một.

12345 Làm mờ wb dưới dạng sổ làm việcĐối với mỗi wb trong ứng dụng.wb.SaveTuần tiếp theo

Lưu tất cả các sổ làm việc đang mở chưa được mở ReadOnly

Lưu ý: việc mở sổ làm việc ở chế độ ReadOnly sẽ ngăn không cho lưu tệp.
Để lưu tệp, bạn sẽ cần sử dụng Save As và lưu tệp với một tên khác.

1234567 Làm mờ wb dưới dạng sổ làm việcĐối với mỗi wb trong ứng dụng.Nếu không wb ReadOnly thìwb.SaveKết thúc nếuTuần tiếp theo

Lưu sổ làm việc được xác định bởi một biến

Thao tác này sẽ lưu một sổ làm việc đã được gán cho một biến đối tượng sổ làm việc.

1234 Làm mờ wb dưới dạng sổ làm việcset wb = workbooks ("savefile.xlsm")wb.save

Lưu sổ làm việc được xác định bởi một biến chuỗi

Thao tác này sẽ lưu một sổ làm việc có tên đã được lưu vào một biến chuỗi.

1234 Dim wbstring dưới dạng chuỗiwbstring = "savefile.xlsm"sổ làm việc (wbstring) .save

Lưu sổ làm việc được xác định theo thứ tự nó được mở.

Lưu ý: Sổ làm việc đầu tiên được mở sẽ có 1, sổ thứ hai 2, v.v.

1 sổ làm việc (1) .save

Lưu sổ làm việc dựa trên giá trị ô

Thao tác này sẽ lưu một sổ làm việc có tên được tìm thấy trong một giá trị ô.

1234 Dim wbstring dưới dạng chuỗiwbstring = activeworkbook.sheets ("sheet1"). range ("wb_save"). valuesổ làm việc (wbstring) .save

Lưu dưới dạng - VBA

Lệnh VBA Save As lưu tệp Excel dưới dạng tệp mới, tương tự như cách nhấp vào biểu tượng Lưu dưới dạng hoặc sử dụng Phím tắt Lưu dưới dạng (Alt> F> A).
Ở trên, chúng tôi đã xác định tất cả các cách để chỉ định sổ làm việc nào sẽ lưu. Bạn có thể sử dụng các phương pháp chính xác đó để xác định sổ làm việc khi sử dụng Lưu dưới dạng.

Save As hoạt động tương tự như Save, ngoại trừ bạn cũng cần chỉ định tên của tệp mới.
Trên thực tế, Save As có nhiều biến tiềm năng để xác định:

Cú pháp SaveAs:

123 đối tượng sổ làm việc .SaveAs (FileName, FileFormat, Password, WriteResPassword, _ReadOnlyRecommended, CreateBackup, AccessMode, ConflictResolution, _AddToMru, TextCodepage, TextVisualLayout, Local)

Dưới đây là mô tả đầy đủ về tất cả các đối số SaveAs. Bây giờ chúng ta sẽ tập trung vào các ví dụ phổ biến nhất.
Lưu ý: Các đối số này có thể được nhập dưới dạng chuỗi với dấu ngoặc đơn hoặc dưới dạng các biến được xác định.

Ví dụ về Lưu dưới dạng Cú pháp:

Sổ làm việc Lưu dưới dạng - Cùng một Thư mục

1 ActiveWorkbook.SaveAs Filename: = "new"

hoặc

1 ActiveWorkbook.SaveAs "mới"

hoặc

1234 Dim wbstring dưới dạng chuỗiwbstring = "mới"ActiveWorkbook.SaveAs Filename: = wbstring

Sổ làm việc Lưu dưới dạng - Thư mục Mới

1 ActiveWorkbook.SaveAs Filename: = "C: \ new"

hoặc

1234 Dim wbstring dưới dạng chuỗiwbstring = "C: \ new"ActiveWorkbook.SaveAs Tên tệp: = wbstring =

Sổ làm việc Lưu dưới dạng - Thư mục Mới, Chỉ định Phần mở rộng Tệp

1 ActiveWorkbook.SaveAs Filename: = "C: \ new.xlsx"

hoặc

1234 Dim wbstring dưới dạng chuỗiwbstring = "C: \ new.xlsx"ActiveWorkbook.SaveAs Filename: = wbstring

Sổ làm việc Lưu dưới dạng - Thư mục Mới, Chỉ định Phần mở rộng Tệp - Phương pháp Thay thế

Bạn cũng có thể chỉ định định dạng tệp trong đối số của chính nó.

1234 .xlsx = 51 '(52 cho Mac).xlsm = 52 '(53 cho Mac).xlsb = 50 '(51 cho Mac).xls = 56 '(57 cho Mac)
1 ActiveWorkbook.SaveAs Filename: = "C: \ new", FileFormat: = 51

Sổ làm việc Lưu dưới dạng - Thêm mật khẩu để mở tệp

1 ActiveWorkbook.SaveAs Filename: = "C: \ new.xlsx", Password: = "password"

Sổ làm việc Lưu dưới dạng - Thêm Mật khẩu để Viết Đặc quyền

Nếu mật khẩu chính xác không được cung cấp thì sổ làm việc sẽ mở dưới dạng Chỉ đọc

1 ActiveWorkbook.SaveAs Filename: = "C: \ new.xlsx", WriteRes: = "password"

Sổ làm việc Lưu dưới dạng - Khuyến nghị Chỉ đọc

ĐÚNG để hiển thị hộp thông báo, khuyến nghị rằng tệp được mở ở chế độ chỉ đọc.

1 ActiveWorkbook.SaveAs Filename: = "C: \ new.xlsx", ReadOnlyRecommended: = TRUE

Lưu làm ví dụ khác

Tạo Hộp thoại Lưu dưới dạng

Thao tác này Tạo Hộp thoại Lưu dưới dạng, nhắc người dùng Lưu tệp.
Hãy nhớ rằng mã đơn giản này có thể không phù hợp trong mọi trường hợp.

1 Application.GetSaveAsFilename

Tạo hộp thoại Lưu dưới dạng với Tên tệp mặc định được cung cấp

1 Application.GetSaveAsFilename InitialFilename: = "test.xlsx"

Tạo hộp thoại Lưu dưới dạng với Tên tệp mặc định được cung cấp

1 Application.GetSaveAsFilename InitialFilename: = "test.xlsx"

Tạo & Lưu Sổ làm việc Mới

Thao tác này sẽ tạo một sổ làm việc mới và ngay lập tức lưu nó.

123456 Dim wb As WorkbookĐặt wb = Workbooks.AddApplication.DisplayAlerts = Falsewb.SaveAs Tên tệp: = ”c: \ Test1.xlsx”Application.DisplayAlerts = True

Tắt Lưu cảnh báo

Khi làm việc với việc lưu trong VBA, bạn có thể gặp nhiều Cảnh báo hoặc Lời nhắc Lưu khác nhau. Để tắt cảnh báo, hãy thêm dòng mã này:

1 Application.DisplayAlerts = Sai

và để có thể cảnh báo lại:

1 Application.DisplayAlerts = True
wave wave wave wave wave