Tự động tạo folder và xuất pdf theo tên ngày hiện tại

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

phan van tai

Thành viên chính thức
Tham gia
22/4/20
Bài viết
91
Được thích
20
Donate (Momo)
Donate
Giới tính
Nam
Nghề nghiệp
VP
Xin chào mọi người ạ.

Mình có file báo cáo nhập số lượng, nhờ mọi người giúp mình code khi nhất nút sẽ tạo tự động folder mới theo ngày, và lưu file pdf đặt tên theo ngày hiện tại luôn.
Sang ngày hôm sau, thì cũng sẽ tự tạo folder mới theo ngày hôm sau, hết năm thì tạo sang năm khác ạk

Mong mọi người giúp với ạk

Cám ơn mọi người.
 

File đính kèm

  • Summarize qty.xlsm
    18.7 KB · Đọc: 9
Xin chào mọi người ạ.

Mình có file báo cáo nhập số lượng, nhờ mọi người giúp mình code khi nhất nút sẽ tạo tự động folder mới theo ngày, và lưu file pdf đặt tên theo ngày hiện tại luôn.
Sang ngày hôm sau, thì cũng sẽ tự tạo folder mới theo ngày hôm sau, hết năm thì tạo sang năm khác ạk

Mong mọi người giúp với ạk

Cám ơn mọi người.
Tham khảo code trong file
khi chạy code sẽ kiểm tra xem Tên folder mới tạo đã tồn tại chưa?
Nếu:
1/Chưa : thì tạo 1 folder mới có tên là Ten Workbook chứa code và ngaythangnam hiện tại và tạo 1 file pdf có tên là Ngaythangnam.pdf tất cả được lưu trên cùng ổ đĩa file chứa code.
2/Đã có: 1 file pdf có tên là Ngaythangnam.pdf được tạo ra (nếu có rồi thì lưu đè file.pdf cũ) và được lưu trên folder có sẵn.
 

File đính kèm

  • Summarize qty.xlsm
    21.3 KB · Đọc: 15
Upvote 0
Tham khảo code trong file
khi chạy code sẽ kiểm tra xem Tên folder mới tạo đã tồn tại chưa?
Nếu:
1/Chưa : thì tạo 1 folder mới có tên là Ten Workbook chứa code và ngaythangnam hiện tại và tạo 1 file pdf có tên là Ngaythangnam.pdf tất cả được lưu trên cùng ổ đĩa file chứa code.
2/Đã có: 1 file pdf có tên là Ngaythangnam.pdf được tạo ra (nếu có rồi thì lưu đè file.pdf cũ) và được lưu trên folder có sẵn.
Cám ơn bạn rất nhiều ạk
 
Upvote 0
Tham khảo code trong file
khi chạy code sẽ kiểm tra xem Tên folder mới tạo đã tồn tại chưa?
Nếu:
1/Chưa : thì tạo 1 folder mới có tên là Ten Workbook chứa code và ngaythangnam hiện tại và tạo 1 file pdf có tên là Ngaythangnam.pdf tất cả được lưu trên cùng ổ đĩa file chứa code.
2/Đã có: 1 file pdf có tên là Ngaythangnam.pdf được tạo ra (nếu có rồi thì lưu đè file.pdf cũ) và được lưu trên folder có sẵn.
Mình muồn tạo folder và xuất file pdf vào trong thư mục "Archive", với tên folder mới "yyyymmdd", tên file "yyyymmdd shopfloor-fpvn". Dựa trên câu code dưới, bạn giúp mình với ạ, do bên mình sử dụng hệ thống onedrive

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
("https://fischerwerke.sharepoint.com/sites/fpvn/Freigegebene Dokumente/Production/96. Shopfloor Management/Archive/" & Date & "-Shopfloor-fpvn.pdf")
 
Upvote 0
Mình muồn tạo folder và xuất file pdf vào trong thư mục "Archive", với tên folder mới "yyyymmdd", tên file "yyyymmdd shopfloor-fpvn". Dựa trên câu code dưới, bạn giúp mình với ạ, do bên mình sử dụng hệ thống onedrive

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
("https://fischerwerke.sharepoint.com/sites/fpvn/Freigegebene Dokumente/Production/96. Shopfloor Management/Archive/" & Date & "-Shopfloor-fpvn.pdf")
Trong dòng chữ xanh ấy có đúng là đường dẫn để lưu folder mới tạo ra trong máy tính không? Tôi hiểu đó là 1 trang Web. Do vậy bạn cứ làm bình thường và chuyển nó lên trang Web đó (bằng thủ công), còn bằng VBA thì tôi thua-vì rất có thể nó còn liên quan đến tài khoản, đến địa chỉ , đến url,.....
Bạn cứ nêu rõ mong muốn, hy vọng các thành viên trên GPE này sẽ có người giúp bạn được

Nếu bạn muốn nó lưu trong OneDriver trên máy của bạn thì bạn để file chứa code trong OneDriver khi chạy code nó sẽ lưu trong One.. luôn.

Bạn muốn Date có định dạng yyyymmdd thì tìm chỗ
Mã:
Ngay = Application.WorksheetFunction.Substitute(Date, "/", "")

thay bằng
Mã:
Ngay = Application.WorksheetFunction.Substitute(Format(Date, "yyyymmdd"), "/", "")
là được

Trong code đã rất rõ: TenFolder= TenWb & "_" & Ngay, tên file.pdf =Ngay &".pdf" . Bạn hãy thay bằng những tên bạn muốn và chạy thử. Hãy làm có sai===> có sửa,==> có thành công và như vậy sẽ===> nhớ lâu hơn.

Chúc bạn thành công.
 
Upvote 0
Trong dòng chữ xanh ấy có đúng là đường dẫn để lưu folder mới tạo ra trong máy tính không? Tôi hiểu đó là 1 trang Web. Do vậy bạn cứ làm bình thường và chuyển nó lên trang Web đó (bằng thủ công), còn bằng VBA thì tôi thua-vì rất có thể nó còn liên quan đến tài khoản, đến địa chỉ , đến url,.....
Bạn cứ nêu rõ mong muốn, hy vọng các thành viên trên GPE này sẽ có người giúp bạn được

Nếu bạn muốn nó lưu trong OneDriver trên máy của bạn thì bạn để file chứa code trong OneDriver khi chạy code nó sẽ lưu trong One.. luôn.

Bạn muốn Date có định dạng yyyymmdd thì tìm chỗ
Mã:
Ngay = Application.WorksheetFunction.Substitute(Date, "/", "")

thay bằng
Mã:
Ngay = Application.WorksheetFunction.Substitute(Format(Date, "yyyymmdd"), "/", "")
là được

Trong code đã rất rõ: TenFolder= TenWb & "_" & Ngay, tên file.pdf =Ngay &".pdf" . Bạn hãy thay bằng những tên bạn muốn và chạy thử. Hãy làm có sai===> có sửa,==> có thành công và như vậy sẽ===> nhớ lâu hơn.

Chúc bạn thành công.
link kia là đường dẫn onedrive nội bộ đó ạ, môi nhân viên có tài khoản riêng đc cấp quyền truy cập vào.
Rất cám ơn bạn đã hỗ trợ ạ.

còn 1 điểm nữa mình chưa hiểu trong đoạn code, mình muốn thay đổi thư mục nơi tạo folder => thì trong code sẽ đổi chổ nào ák
 
Lần chỉnh sửa cuối:
Upvote 0
link kia là đường dẫn onedrive nội bộ đó ạ, môi nhân viên có tài khoản riêng đc cấp quyền truy cập vào.
Rất cám ơn bạn đã hỗ trợ ạ.

còn 1 điểm nữa mình chưa hiểu trong đoạn code, mình muốn thay đổi thư mục nơi tạo folder => thì trong code sẽ đổi chổ nào ák
Tôi truy cập vào thì nó hiện lên 1 trang Web và đòi hỏi đăng ký, pass,...
Thay chỗ path=Thisworbook.path thành Path= ten ổ đĩa bạn muốn: ví dụ Path="C:\PhanvanTai\....
 
Upvote 0
Tôi truy cập vào thì nó hiện lên 1 trang Web và đòi hỏi đăng ký, pass,...
Thay chỗ path=Thisworbook.path thành Path= ten ổ đĩa bạn muốn: ví dụ Path="C:\PhanvanTai\....
Code mình thêm chổ lưu trữ, nhưng do cty mình dùng sharepoint nên add link nó không chạy.
Bạn giúp mình với.


Dim folderpath As String, TenFolder As String
Dim Sh As Worksheet
Dim fso As Object
Dim Path As String, Ten As String, TenWb As String, Ngay As String
Set fso = CreateObject("Scripting.FileSystemObject")
Set Sh = ActiveSheet

Path = "https://fischerwerke.sharepoint.com.../Production/96. Shopfloor Management/Archive/"

TenWb = "Shopfloor - fpvn" 'Left(ThisWorkbook.Name, InStr(ThisWorkbook.Name, ".") - 1)
Ngay = Application.WorksheetFunction.Substitute(Format(Date, "yyyymmdd"), "/", "")
TenFolder = Ngay & "_" & TenWb
If Right(Path, 1) <> "\" Then Path = Path & "\"
If Not fso.FolderExists(Path) Then fso.CreateFolder Path
folderpath = Path & TenFolder
If Not fso.FolderExists(folderpath) Then
fso.CreateFolder folderpath
Sh.ExportAsFixedFormat Type:=xlTypePDF, Filename:=folderpath & "\" & Ngay, openafterpublish:=False, ignoreprintareas:=False
MsgBox " Folder name " & TenFolder & " Creadted and saved " & Ngay & ".pdf "
Else
Sh.ExportAsFixedFormat Type:=xlTypePDF, Filename:=folderpath & "\" & Ngay, openafterpublish:=False, ignoreprintareas:=False
MsgBox " file " & Ngay & ".pdf Saved"

End If
Set fso = Nothing

End sub
 
Upvote 0
Code mình thêm chổ lưu trữ, nhưng do cty mình dùng sharepoint nên add link nó không chạy.
Bạn giúp mình với.


Dim folderpath As String, TenFolder As String
Dim Sh As Worksheet
Dim fso As Object
Dim Path As String, Ten As String, TenWb As String, Ngay As String
Set fso = CreateObject("Scripting.FileSystemObject")
Set Sh = ActiveSheet

Path = "https://fischerwerke.sharepoint.com/sites/fpvn/Freigegebene Dokumente/Production/96. Shopfloor Management/Archive/"

TenWb = "Shopfloor - fpvn" 'Left(ThisWorkbook.Name, InStr(ThisWorkbook.Name, ".") - 1)
Ngay = Application.WorksheetFunction.Substitute(Format(Date, "yyyymmdd"), "/", "")
TenFolder = Ngay & "_" & TenWb
If Right(Path, 1) <> "\" Then Path = Path & "\"
If Not fso.FolderExists(Path) Then fso.CreateFolder Path
folderpath = Path & TenFolder
If Not fso.FolderExists(folderpath) Then
fso.CreateFolder folderpath
Sh.ExportAsFixedFormat Type:=xlTypePDF, Filename:=folderpath & "\" & Ngay, openafterpublish:=False, ignoreprintareas:=False
MsgBox " Folder name " & TenFolder & " Creadted and saved " & Ngay & ".pdf "
Else
Sh.ExportAsFixedFormat Type:=xlTypePDF, Filename:=folderpath & "\" & Ngay, openafterpublish:=False, ignoreprintareas:=False
MsgBox " file " & Ngay & ".pdf Saved"

End If
Set fso = Nothing

End sub
Như đã nói. Khi đăng nhập vào 1 trang Web nào đó bằng VBA nó đòi hỏi phải có IP, hay MIP gì đó, url ,... nên có thể không chạy nếu bạn chỉ để cái đường dẫn ấy.
Bạn thử hỏi ChatGPT hay Copilot xem nó viết đoạn code để truy cập vào trang Web Cá ấy của bạn xem thế nào? Hỏi cả cách đăng 1 tệp pdf lên trang web ấy xem sao?
Còn đây là file tôi đã thử cho bạn (nhưng không thành công vướng chỗ -hình như là đòi quyền đăng nhập và Web: Cá...)
bạn xem code trong file nhé; Hãy thử, hy vọng thành công khi bạn có đủ quyền đăng nhập.
 

File đính kèm

  • Summarize qty.xlsm
    30.8 KB · Đọc: 8
  • Screenshot (215).png
    Screenshot (215).png
    318.6 KB · Đọc: 9
Upvote 0
Không rành Sharepoint nhưng với đường dẫn này chắc phải dùng HTTP PUT để đẩy file lên server.
Nếu là link nội bộ thì bạn thử đổi dấu “/“ thành “\” xem thử. \\fischerwerke.sharepoint.com...\Production\96...
 
Lần chỉnh sửa cuối:
Upvote 0
Chào các bác, bên em được cấp tài khoản MS dỏm, dùng được sharepoint, nhưng ngoài việc lên đấy tải file của mọi người về, em chả hiểu nó có tác dụng gì nữa.
 
Upvote 0
Như đã nói. Khi đăng nhập vào 1 trang Web nào đó bằng VBA nó đòi hỏi phải có IP, hay MIP gì đó, url ,... nên có thể không chạy nếu bạn chỉ để cái đường dẫn ấy.
Bạn thử hỏi ChatGPT hay Copilot xem nó viết đoạn code để truy cập vào trang Web Cá ấy của bạn xem thế nào? Hỏi cả cách đăng 1 tệp pdf lên trang web ấy xem sao?
Còn đây là file tôi đã thử cho bạn (nhưng không thành công vướng chỗ -hình như là đòi quyền đăng nhập và Web: Cá...)
bạn xem code trong file nhé; Hãy thử, hy vọng thành công khi bạn có đủ quyền đăng nhập.
Cám ơn bạn nhiều ak
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom