Tạo file và lưu trữ ra nhiều thư mục cùng 1 lúc với 1 click trong file! (2 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

pth_gpex

Thành viên chính thức
Tham gia
17/3/08
Bài viết
51
Được thích
1
Xin chào các bạn,
Mình rất thích VB trong excel, nhưng mình còn rất mới mẽ đối với nó. Hôm nay mình xin các cao thủ giúp code cho file như sau:
- 1 file A , tạo 1 button trong sheet hoặc shape rồi cho code hoặc macro.
- Sau khi click vào button hoặc shape nó sẽ thực hiện lưu file A này tại các thư mục X, Y, Z trong win explorer. Nếu file A đã tạo rồi, qua ngày sau khi thực hiện các phát sinh khác và cập nhật, click button lưu trữ nó thì file sẽ cũng cập nhật toàn bộ tại các thư mục X, Y, Z (nghĩa là copy và thay thế file cũ hôm trước luôn)

Vb thật khó, xin giúp mình chút xíu nhe!
Thật cảm ơn.
 
Cái này làm được nhưng ko biết 1 file bạn lưu nhiều nơi để làm gì
 
Upvote 0
Xin chào các bạn,
Mình rất thích VB trong excel, nhưng mình còn rất mới mẽ đối với nó. Hôm nay mình xin các cao thủ giúp code cho file như sau:
- 1 file A , tạo 1 button trong sheet hoặc shape rồi cho code hoặc macro.
- Sau khi click vào button hoặc shape nó sẽ thực hiện lưu file A này tại các thư mục X, Y, Z trong win explorer. Nếu file A đã tạo rồi, qua ngày sau khi thực hiện các phát sinh khác và cập nhật, click button lưu trữ nó thì file sẽ cũng cập nhật toàn bộ tại các thư mục X, Y, Z (nghĩa là copy và thay thế file cũ hôm trước luôn)

Vb thật khó, xin giúp mình chút xíu nhe!
Thật cảm ơn.
Cái này không cần VB, mà bạn chỉ cần câu lệnh copy trong command, hoặc bạn tạo bat file copy
 
Upvote 0
Xin chào các bạn,
Mình rất thích VB trong excel, nhưng mình còn rất mới mẽ đối với nó. Hôm nay mình xin các cao thủ giúp code cho file như sau:
- 1 file A , tạo 1 button trong sheet hoặc shape rồi cho code hoặc macro.
- Sau khi click vào button hoặc shape nó sẽ thực hiện lưu file A này tại các thư mục X, Y, Z trong win explorer. Nếu file A đã tạo rồi, qua ngày sau khi thực hiện các phát sinh khác và cập nhật, click button lưu trữ nó thì file sẽ cũng cập nhật toàn bộ tại các thư mục X, Y, Z (nghĩa là copy và thay thế file cũ hôm trước luôn)

Vb thật khó, xin giúp mình chút xíu nhe!
Thật cảm ơn.
Bài này nếu Folder có dạng như sau thi đơn giản thôi

VD: D:\Cha\con\chau\chat\chut\chit

Thì qua ngày hôm sau Delete cái Folder cha đi là xong ...rồi tạo Folder mới xong copy File mới vô đó

Còn như sau sẻ rắc rối nè

D:\cha\con\chau ....trong Folder con có vài Folder nữa + trong Folder chau có 1 mớ nữa ....--=0 thì rắc rối đó
D:\xx\tt\hh....này cũng vậy
D:\hh\kk\hh....này cũng vậy
E:\gg\kk....này cũng vậy

rồi Folder là Tiếng việt có dấu hay tiếng thái nữa ............--=0

Vấn đề là làm sao ta code xúc tích ngắn gọn nhất ....không biết Folder chủ chủ thớt dạng nào ???
 
Upvote 0
Bài này nếu Folder có dạng như sau thi đơn giản thôi

VD: D:\Cha\con\chau\chat\chut\chit

Thì qua ngày hôm sau Delete cái Folder cha đi là xong ...rồi tạo Folder mới xong copy File mới vô đó

Còn như sau sẻ rắc rối nè

D:\cha\con\chau ....trong Folder con có vài Folder nữa + trong Folder chau có 1 mớ nữa ....--=0 thì rắc rối đó
D:\xx\tt\hh....này cũng vậy
D:\hh\kk\hh....này cũng vậy
E:\gg\kk....này cũng vậy

rồi Folder là Tiếng việt có dấu hay tiếng thái nữa ............--=0

Vấn đề là làm sao ta code xúc tích ngắn gọn nhất ....không biết Folder chủ chủ thớt dạng nào ???

Dự đoán vầy nè:

Folder cha = năm 2016

Folder con = khách hàng (nhiều khách hàng thì có nhiều Folder)

Folder cháu = tháng

Quản lý kiểu này mệt là cái chắc (chưa kể râu ông nọ cắm càm bà kia lỡ xóa thì không biết đâu mà lần).

Quản lý kiểu trên 1 năm mà theo dõi vài trăm khách hàng với hàng ngàn File hóa đơn thì sẽ rối tung rối mù lên và đi tìm File chắc sẽ mệt đừ.


Góp ý cho chủ Topic:

1/ Nên đặt tên File lưu theo số hóa đơn và tên khách hàng sau đó lưu trong 1 Folder là đủ.

2/ Theo tôi thì làm 1 sheet Form hóa đơn và nhập liệu vào sheet theo dõi (nều cần sửa, xóa, truy vấn lại hóa đơn sẽ dễ dàng hơn).

3/ Bạn có thể tham khảo File bài 27 của Topic sau:

http://www.giaiphapexcel.com/forum/showthread.php?113880-Tìm-kiếm-nhanh-trong-drop-down-list/page3

Quản lý kiểu này thì tôi chẳng cần lưu File hóa đơn nào cả, chỉ với 1 sheet Form hóa đơn và 1 sheet theo dõi thì có thể theo dõi vài ngàn hóa đơn và truy vần từng hóa đơn của từng khách hàng dễ như trở bàn tay, bằng cách gõ số hóa đơn (nhấn nút để truy vấn) thì sẽ được tất cả các thông về hóa đơn đó (tên khách hàng, địa chỉ, ngày mua hàng của tất cả hàng hóa..v..v...)
 
Lần chỉnh sửa cuối:
Upvote 0
Các bác hiểu sai ý mình rồi. Chẳng qua là mình cần có chức năng lưu file tự động vào các thư mục khác nhau trên chính file này. Ví dụ mình đang làm file A, thay vì phải save vào thư mục A xong mình lại save tiếp vào thư mục B thì mất 2 lần save, giả dụ cần save từ A -> Z thư mục thì không lẽ copy ra 24 lần. Cho nên mình cần button có code chứa chức năng save file trên chính file đó.
Cảm ơn các bác, giúp mình với!
P/s: Có thêm 2 trường hợp xảy ra là thư mục A -> Z là đã tạo sẵn hoặc tự động tạo ra sau đó.
 
Lần chỉnh sửa cuối:
Upvote 0
Mình dốt dặc sao bác không chỉ mình làm luôn nhỉ?
 
Upvote 0
Các bác hiểu sai ý mình rồi. Chẳng qua là mình cần có chức năng lưu file tự động vào các thư mục khác nhau trên chính file này. Ví dụ mình đang làm file A, thay vì phải save vào thư mục A xong mình lại save tiếp vào thư mục B thì mất 2 lần save, giả dụ cần save từ A -> Z thư mục thì không lẽ copy ra 24 lần. Cho nên mình cần button có code chứa chức năng save file trên chính file đó.
Cảm ơn các bác, giúp mình với!
P/s: Có thêm 2 trường hợp xảy ra là thư mục A -> Z là đã tạo sẵn hoặc tự động tạo ra sau đó.
Bạn tạo bat file với câu lệnh như này:
Mã:
xcopy "PathFile" "PathFolder cần save" /Y
Đây là copy 1 file tới 1 folder, nếu có 24 folder thì có 24 dòng script này, thay "PathFolder cần save" theo folder thực tế

Mỗi lần bạn muốn copy thì chỉ cần click vào file bat là chạy.
Cách tạo file bat thì đơn giản thui, chỉ cần mở notepad paste các script như trên vào, rùi save dưới đuôi .bat

Lưu ý: Nếu folder copy đên đã có file cần copy rùi thì nó sẽ ghi đè nên nhé.
 
Upvote 0
Các bác hiểu sai ý mình rồi. Chẳng qua là mình cần có chức năng lưu file tự động vào các thư mục khác nhau trên chính file này. Ví dụ mình đang làm file A, thay vì phải save vào thư mục A xong mình lại save tiếp vào thư mục B thì mất 2 lần save, giả dụ cần save từ A -> Z thư mục thì không lẽ copy ra 24 lần. Cho nên mình cần button có code chứa chức năng save file trên chính file đó.
Cảm ơn các bác, giúp mình với!
P/s: Có thêm 2 trường hợp xảy ra là thư mục A -> Z là đã tạo sẵn hoặc tự động tạo ra sau đó.
Bạn viết cái cây thư mục [Folder ] của bạn lên đây Mình dòm coi cái hình thù nó ra sao ....xong Mình viết cho vài dòng code là xong đó mà ....

Nhớ mô tả chính xác đó nha ....chứ à quên thì Mình ngại lắm ....Run đó nha ...
 
Upvote 0
Bạn viết cái cây thư mục [Folder ] của bạn lên đây Mình dòm coi cái hình thù nó ra sao ....xong Mình viết cho vài dòng code là xong đó mà ....

Nhớ mô tả chính xác đó nha ....chứ à quên thì Mình ngại lắm ....Run đó nha ...

D/X
D/Y
D/Z

Save file A vào các thư mục X, Y, Z bằng 1 click button trong file A. Ghi đè toàn bộ.
 
Upvote 0
D/X
D/Y
D/Z

Save file A vào các thư mục X, Y, Z bằng 1 click button trong file A. Ghi đè toàn bộ.
Thích thì tiếp ..........Cổng chào
Mã:
Public Sub ABC_XYZ()
    Dim ToFolder1 As String, ToFolder2 As String, ToFolder3 As String
    Dim FilePath As String, MyFolder(), i As Long
    FilePath = ThisWorkbook.FullName
    ToFolder1 = "D:\X\"
    ToFolder2 = "D:\Y\"
    ToFolder3 = "D:\Z\"
    MyFolder = Array(ToFolder1, ToFolder2, ToFolder3)
    With CreateObject("Scripting.FileSystemObject")
        For i = 0 To UBound(MyFolder)
            If Not .FolderExists(MyFolder(i)) Then .CreateFolder MyFolder(i)
            .CopyFile FilePath, MyFolder(i)
        Next
   End With
End Sub
 
Upvote 0
Thích thì tiếp ..........Cổng chào
Mã:
Public Sub ABC_XYZ()
    Dim ToFolder1 As String, ToFolder2 As String, ToFolder3 As String
    Dim FilePath As String, MyFolder(), i As Long
    FilePath = ThisWorkbook.FullName
    ToFolder1 = "D:\X\"
    ToFolder2 = "D:\Y\"
    ToFolder3 = "D:\Z\"
    MyFolder = Array(ToFolder1, ToFolder2, ToFolder3)
    With CreateObject("Scripting.FileSystemObject")
        For i = 0 To UBound(MyFolder)
            If Not .FolderExists(MyFolder(i)) Then .CreateFolder MyFolder(i)
            .CopyFile FilePath, MyFolder(i)
        Next
   End With
End Sub

Code trên có thể viết ngắn hơn nữa xóa đi 14 Từ vẫn ra như vậy Nhưng hết gió rồi ...@#!^%//**/
 
Upvote 0
Web KT

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

Back
Top Bottom