Note: The other languages of the website are Google-translated. Back to English

 Làm thế nào để kiểm tra xem một thư mục tồn tại và nếu không tạo nó?

Bạn đã bao giờ thử kiểm tra xem một thư mục có tồn tại hay không từ trang tính Excel chưa? Trong bài viết này, tôi sẽ nói về việc kiểm tra xem một thư mục có tồn tại trong một đường dẫn được chỉ định hay không, nếu không, thư mục sẽ được tạo tự động theo đường dẫn.

Kiểm tra xem thư mục có tồn tại trong đường dẫn tệp cụ thể bằng mã VBA không

Tạo thư mục nếu không tồn tại trong một đường dẫn tệp cụ thể với mã VBA


mũi tên màu xanh bong bóng bên phải Kiểm tra xem thư mục có tồn tại trong đường dẫn tệp cụ thể bằng mã VBA không

Mã VBA sau có thể giúp bạn kiểm tra xem thư mục có tồn tại trong đường dẫn tệp cụ thể hay không, vui lòng thực hiện như sau:

1. Giữ ALT + F11 phím để mở Microsoft Visual Basic cho các ứng dụng cửa sổ.

2. Nhấp chuột Chèn > Mô-đunvà dán mã sau vào Mô-đun Cửa sổ.

Mã VBA: Kiểm tra xem thư mục có tồn tại trong đường dẫn tệp cụ thể hay không:

Sub Test_Folder_Exist_With_Dir()
'Updateby Extendoffice
    Dim sFolderPath As String
    sFolderPath = "C:\Users\DT168\Desktop\Test folder"
    If Right(sFolderPath, 1) <> "\" Then
        sFolderPath = sFolderPath & "\"
    End If
    If Dir(sFolderPath, vbDirectory) <> vbNullString Then
        MsgBox "Folder exist", vbInformation, "Kutools for Excel"
    Else
        MsgBox "Folder doesn't exist", vbInformation, "Kutools for Excel"
    End If
End Sub

LƯU Ý Trong đoạn mã trên, bạn nên thay đổi đường dẫn và tên thư mục C: \ Users \ DT168 \ Desktop \ Thư mục kiểm tra theo nhu cầu của bạn.

3. Sau đó nhấn F5 để chạy mã này, bạn sẽ nhận được kết quả sau:

thư mục doc tồn tại 1


mũi tên màu xanh bong bóng bên phải Tạo thư mục nếu không tồn tại trong một đường dẫn tệp cụ thể với mã VBA

Kiểm tra xem một thư mục có tồn tại trong đường dẫn tệp hay không, nếu không, để tạo nó theo đường dẫn tệp cụ thể này, mã VBA sau có thể giúp bạn hoàn thành công việc này.

1. Giữ ALT + F11 phím để mở Microsoft Visual Basic cho các ứng dụng cửa sổ.

2. Nhấp chuột Chèn > Mô-đunvà dán mã sau vào Mô-đun Cửa sổ.

Mã VBA: Tạo một thư mục nếu không tồn tại trong đường dẫn tệp:

Sub MakeMyFolder()
'Updateby Extendoffice
    Dim fdObj As Object
    Application.ScreenUpdating = False
    Set fdObj = CreateObject("Scripting.FileSystemObject")
    If fdObj.FolderExists("C:\Users\DT168\Desktop\Test folder") Then
        MsgBox "Found it.", vbInformation, "Kutools for Excel"
    Else
        fdObj.CreateFolder ("C:\Users\DT168\Desktop\Test folder")
        MsgBox "It has been created.", vbInformation, "Kutools for Excel"
    End If
    Application.ScreenUpdating = True
End Sub

Chú thích: Trong đoạn mã trên, bạn nên thay đổi đường dẫn và tên thư mục C: \ Users \ DT168 \ Desktop \ Thư mục kiểm tra theo nhu cầu của bạn.

3. Sau khi dán mã và nhấn F5 phím để chạy nó:

(1.) Nếu thư mục tồn tại, một hộp nhắc sẽ bật ra như ảnh chụp màn hình sau:

thư mục doc tồn tại 2

(2.) Nếu thư mục không tồn tại, nó sẽ được tạo theo đường dẫn cụ thể ngay lập tức và một hộp nhắc sẽ bật ra để nhắc bạn rằng thư mục đã được tạo, xem ảnh chụp màn hình:

thư mục doc tồn tại 3


Các công cụ năng suất văn phòng tốt nhất

Kutools cho Excel giải quyết hầu hết các vấn đề của bạn và tăng 80% năng suất của bạn

  • Tái sử dụng: Chèn nhanh công thức phức tạp, biểu đồ và bất cứ thứ gì bạn đã sử dụng trước đây; Mã hóa ô với mật khẩu; Tạo danh sách gửi thư và gửi email ...
  • Thanh siêu công thức (dễ dàng chỉnh sửa nhiều dòng văn bản và công thức); Bố cục đọc (dễ dàng đọc và chỉnh sửa số lượng ô lớn); Dán vào Dải ô đã Lọchữu ích. Cảm ơn !
  • Hợp nhất các ô / hàng / cột mà không làm mất dữ liệu; Nội dung phân chia ô; Kết hợp các hàng / cột trùng lặp... Ngăn chặn các ô trùng lặp; So sánh các dãyhữu ích. Cảm ơn !
  • Chọn trùng lặp hoặc duy nhất Hàng; Chọn hàng trống (tất cả các ô đều trống); Tìm siêu và Tìm mờ trong Nhiều Sổ làm việc; Chọn ngẫu nhiên ...
  • Bản sao chính xác Nhiều ô mà không thay đổi tham chiếu công thức; Tự động tạo tài liệu tham khảo sang Nhiều Trang tính; Chèn Bullets, Hộp kiểm và hơn thế nữa ...
  • Trích xuất văn bản, Thêm Văn bản, Xóa theo Vị trí, Xóa không gian; Tạo và In Tổng số phân trang; Chuyển đổi giữa nội dung ô và nhận xéthữu ích. Cảm ơn !
  • Siêu lọc (lưu và áp dụng các lược đồ lọc cho các trang tính khác); Sắp xếp nâng cao theo tháng / tuần / ngày, tần suất và hơn thế nữa; Bộ lọc đặc biệt bằng cách in đậm, in nghiêng ...
  • Kết hợp Workbook và WorkSheets; Hợp nhất các bảng dựa trên các cột chính; Chia dữ liệu thành nhiều trang tính; Chuyển đổi hàng loạt xls, xlsx và PDFhữu ích. Cảm ơn !
  • Hơn 300 tính năng mạnh mẽ. Hỗ trợ Office / Excel 2007-2021 và 365. Hỗ trợ tất cả các ngôn ngữ. Dễ dàng triển khai trong doanh nghiệp hoặc tổ chức của bạn. Đầy đủ tính năng Dùng thử miễn phí 30 ngày. Bảo đảm hoàn lại tiền trong 60 ngày.
tab kte 201905

Tab Office mang lại giao diện Tab cho Office và giúp công việc của bạn trở nên dễ dàng hơn nhiều

  • Cho phép chỉnh sửa và đọc theo thẻ trong Word, Excel, PowerPoint, Publisher, Access, Visio và Project.
  • Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới.
  • Tăng 50% năng suất của bạn và giảm hàng trăm cú nhấp chuột cho bạn mỗi ngày!
officetab dưới cùng
Nhận xét (12)
Chưa có xếp hạng. Hãy là người đầu tiên xếp hạng!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Nó phản ánh lỗi @ fdObj.CreateFolder ("C: \ Users \ DT168 \ Desktop \ Test folder")
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, Alok,
Các mã trên hoạt động tốt trong sổ làm việc Excel của tôi, đường dẫn "C: \ Users \ DT168 \ Desktop \ Test folder" là đường dẫn máy tính của tôi, bạn nên thay đổi đường dẫn thư mục thành đường dẫn của riêng bạn.
Cảm ơn bạn!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Bài báo tuyệt vời. Chỉ cần những gì tôi đang tìm kiếm :)
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Điều này thực sự hữu ích! cảm ơn!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Cảm ơn Man, làm việc tuyệt vời
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Siêu cảm ơn!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi đang chạy macro này, nhưng trong bước tạo thư mục, quá trình này bị lỗi.

Bạn có thể giúp tôi được không????


'Comprobar si la thảma tồn tại

Dim ruta như chuỗi
Thư viện Dim As String

M = ActiveWorkbook.Name

ruta = Application.Workbooks (M) .Sheets ("Diccionario"). Phạm vi ("B5"). Giá trị

If Right (ruta, 1) <> "\" Then
ruta = ruta & "\"
Cuối Nếu
If Dir (ruta, vbDirectory) <> vbNullString Then
MsgBox "Thư mục tồn tại, vui lòng tiếp tục"
Khác
MsgBox "Thư mục không tồn tại"
Cuối Nếu

'Crea la thảma que necesitas

Làm mờ fdObj dưới dạng đối tượng
Làm mờ thư mục dưới dạng chuỗi

thư mục = Application.Workbooks (M) .Sheets ("Dicionario"). Phạm vi ("B5"). Giá trị (đây là nơi quy trình rơi vào)

Application.ScreenUpdating = Sai
Đặt fdObj = CreateObject ("Scripting.FileSystemObject")
If fdObj.FolderExists (thư mục) Sau đó
MsgBox "Đã tìm thấy rồi, xin tiếp tục."
Khác
fdObj.CreateFolder (thư mục)
MsgBox "Nó đã được tạo."
Cuối Nếu
Application.ScreenUpdating = True
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, Điều này hoạt động tuyệt vời, liệu có bất kỳ cơ hội nào mà tên thư mục được sử dụng khi kiểm tra xem một thư mục đã tồn tại có được lấy từ một ô trong bảng tính hay không, chẳng hạn A2 ??

Tôi sử dụng bảng tính mẫu được cập nhật tự động từ một nguồn khác, do đó, ô A2 liên tục thay đổi, yêu cầu tạo các thư mục mới có cùng tên.

Ngoài ra, có thể có một lệnh như vậy mà thực hiện ở trên nhưng cũng lưu bảng tính đang hoạt động trong thư mục tìm thấy / tạo không?

Có hy vọng gì không? TIA
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
xuất sắc, tôi sirvió mucho el Objeto. Uso para thảmas como archivos. Muchas gracias
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Cách tạo thư mục trong máy tính để bàn với vba bất cứ khi nào mở sách excel, nếu tồn tại thì bỏ qua.
Nhắn tin nếu tạo thư mục mới, im lặng nếu thư mục đó tồn tại.


Private Sub Workbook_Open ()

Dim cOb dưới dạng biến thể
Làm mờ tên thư mục dưới dạng chuỗi, thư mục tồn tại dưới dạng chuỗi
FolderName = "C: \ Users \ AAAAA \ Desktop \ A New Folder" '----> Thay đổi tên thư mục cho phù hợp. Thay đổi AAAAA theo yêu cầu của bạn.
FolderExists = Dir (FolderName, vbDirectory)

Application.ScreenUpdating = Sai

Nếu FolderExists = vbNullString thì
MsgBox "Thư mục trên màn hình không tồn tại. Đang tạo một thư mục mới.", VbExclamation, "INFORMATION"
cOb = CreateObject ("wscript.shell"). specialfolders ("Desktop") & "\" & "A New Folder" '---> Thay đổi tên thư mục cho phù hợp.
MkDir cOb
Khác: Thoát Sub
Cuối Nếu

Application.ScreenUpdating = True

End Sub

Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Cách tạo thư mục trong máy tính để bàn với vba bất cứ khi nào mở sách excel, nếu tồn tại thì bỏ qua.
Nhắn tin nếu tạo thư mục mới, im lặng nếu thư mục đó tồn tại.

Private Sub Workbook_Open ()

Dim cOb dưới dạng biến thể
Làm mờ tên thư mục dưới dạng chuỗi, thư mục tồn tại dưới dạng chuỗi
FolderName = "C: \ Users \" & Environ ("tên người dùng") & "\ Desktop \Thư mục của tôi\" '---> Thay đổi tên thư mục cho phù hợp.
FolderExists = Dir (FolderName, vbDirectory)

Application.ScreenUpdating = Sai

Nếu FolderExists = vbNullString thì
MsgBox "Thư mục trên màn hình không tồn tại. Đang tạo một thư mục mới.", VbExclamation, "INFORMATION"
cOb = CreateObject ("wscript.shell"). specialfolders ("Desktop") & "\" & "Thư mục của tôi" '---> Thay đổi tên thư mục cho phù hợp.
MkDir cOb
Khác: Thoát Sub
Cuối Nếu

Application.ScreenUpdating = True

End Sub
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào,

Non conosco il Vs. sito e mi sono imbattuto per caso su questa pagina.
Ho letto quanto scritto sopra e se è possibile avrei bisogno del Vs. aiuto.
Đôi khi, một macro che trong một biến cố định được quảng cáo là Mặt máy chủ lưu trữ một phần della stessa lan xác minh sẽ cho phép một tệp exel dal nome biến, và không có trường hợp nào cho phép bạn hủy tệp và hủy bỏ hướng dẫn tiếp theo của cartella bao gồm tệp stesso.
Provo a spiegarmi meglio:
nel percorso :\\host01\Users\utente\Desktop\liste\Nome_Cognome_Gennaio\Operatore_16_Gennaio.xlsm
è trình bày một tệp excel dal nome : Operatore_16_Gennaio.xlsm

Il percorso non semper è lo stesso così come il nome del file excel. Infatti il ​​percorso cambia solo nel Nome_Cognome,es: :\\host01\Users\utente\Desktop\liste\Tizio_Caio_Gennaio\Operatore_16_Gennaio.xlsm) tập tin cambia solo il dell'operatore (Es: \\host01\Users\utente \Desktop\liste\Sempronio_zeta_Gennaio\Operatore_15_Gennaio.xlsm.)

E' Possibile avere una macro che fa quanto descritto sopra?

Ringrazio dự kiến
Không có bình luận nào được đăng ở đây
Để lại ý kiến ​​của bạn
Đăng với tư cách khách
×
Đánh giá bài viết này:
0   Nhân vật
Các vị trí được đề xuất

Kết nối với chúng tôi

Bản quyền © 2009 - www.extendoffice.com. | Đã đăng ký Bản quyền. cung cấp bởi ExtendOffice. | BẢN ĐỒ CHI NHÁNH
Microsoft và logo Office là các nhãn hiệu hoặc nhãn hiệu đã đăng ký của Microsoft Corporation tại Hoa Kỳ và / hoặc các quốc gia khác.
Được bảo vệ bởi Sectigo SSL