Quản lý nội dung thư mục bằng excel (1 người xem)

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

thanhnhanubnd

Thành viên hoạt động
Tham gia
12/9/08
Bài viết
180
Được thích
29
Nghề nghiệp
Xay dung
Tôi đang làm 1 1file Excel để liệt kê thông tin các tập tin ( Subject, Authour, Title, date...) có trong 1 thư mục tùy chọn nhưng hiện tại vẫn chưa thực hiện được.

Tôi đã sử dụng lệnh Dir trong Dos để thống kê, xuất thành file Excel nhưng chỉ lấy được thông tin về ngày, tên, dung lượng mà không lấy được các thông tin khác,.

Xin các cao thủ gắng giúp đở dùm, xin rất cám ơn!!!
Thân chào

thanhnhanubnd@yahoo.com.vn.
 

File đính kèm

Bạn thử dùng đoạn code sau:
Mã:
Sub GetDoc_Properties()
Dim FolderName As String, wbName As String
Dim rw As Integer
On Error Resume Next
FolderName = "C:\Documents and Settings\user\My Documents"
wbName = Dir(FolderName & "\" & "*.xls")
Application.ScreenUpdating = False
rw = 9
While wbName <> ""
    If wbName <> "book1.xls" Then
        Workbooks.Open wbName
        With Workbooks("book1.xls").ActiveSheet
    .Cells(rw, 2).Value = wbName
    .Cells(rw, 3).Value = ActiveWorkbook.BuiltinDocumentProperties(2)
    .Cells(rw, 4).Value = ActiveWorkbook.BuiltinDocumentProperties(5)
    .Cells(rw, 5).Value = ActiveWorkbook.BuiltinDocumentProperties(11)
    .Cells(rw, 6).Value = ActiveWorkbook.BuiltinDocumentProperties(1)
    .Cells(rw, 7).Value = ActiveWorkbook.BuiltinDocumentProperties(3)
End With
     Workbooks(wbName).Close
         rw = rw + 1
     End If
        wbName = Dir
 Wend
Application.ScreenUpdating = True
End Sub
 
Đầu tiên, xin chân thành cám ơn bạn Voda!

Xin bạn hướng dẫn kỹ hơn dùm mình vì mình không biết VBA bạn à.

Gàng giúp mình nhé, chân thành cám ơn bạn nhiều.
 
Bạn thử dùng file sau. Nhớ nhập đường dẫn vào ô E4.
 

File đính kèm

Các bạn dùng file này. Có điều chỉnh. Lấy thông tin mà không cần mở file.
 

File đính kèm

Xin cám ơn bạn VODA

Xin bạn giúp dùm .

1. Minh muon lay (title, subject, authour, date...) là lấy của các tập tin *.xls mà mình liệt kê ở danh sách chứ không phải của file Getdocpro.
2. Sau khi lấy xong mình sắp xếp danh sách theo thứ tự ngày tháng tăng dần.
3. Tạo nhiều sheet có nội dung như trên để quản lý nhiều nội dung ở nhiều thư mục.
Xin chân thành cám ơn bạn.
 
Thân chào bạn VODA.

Thật cám ơn khi bạn đã nhiệt tình giúp đở mình.

Mình đã tạo 1 file Excel hoàn chỉnh với những nội dung yêu cầu,xin bạn xem lại và giúp đở lần nữa nhé!!!

Chân thành cám ơn bạn!!
 
Lần chỉnh sửa cuối:
Quãn lý nội dung thư mục bằn Excel ( gửi bạn VODA)

Thân chào bạn VODA.

Thật cám ơn khi bạn đã nhiệt tình giúp đở mình.

Mình đã tạo 1 file Excel hoàn chỉnh với những nội dung yêu cầu,xin bạn xem lại và giúp đở lần nữa nhé!!!

Chân thành cám ơn bạn!!
 

File đính kèm

-Mình gộp 2 bước thành 1 bước có được không? Nghĩa là chỉ còn 1 sheet cho ra kết quả cuối cùng. Làm thế này gọn hơn.
-Bạn có cần sort theo ngày tháng không?
Cho biết ý kiến nhé!
 
Vậy thì quá tốt rồi, sắp xếp dữ liệu theo ngày tháng Voda nhé !
- 1 sheet quản lý 1 loại hồ sơ.
Bạn tạo dùm mình 4 sheet nhé!
Thanks.
 
Lần chỉnh sửa cuối:
- Bạn gộp các bước thành 1 sheet quá hay rồi, để tối ưu bạn làm thêm 1 bước nữa nhé:
1. Tao 1 sheet tên Quản lý văn bản để quản lý 04 sheet còn laị ( Quyết định, công văn, tờ trình, hợp đồng).
2. Trong 04 sheet ngoài liệt kê, ta còn Hyperlink chúng với file nguồn.

Xin cám ơn, mong bạn giúp.
 

File đính kèm

Xin Thầy Voda giải thích giùm em đoạn code:
ActiveWorkbook.BuiltinDocumentProperties(11)
 
Nguyên văn bởi mymichau
Xin Thầy Voda giải thích giùm em đoạn code:
ActiveWorkbook.BuiltinDocumentProperties(11)
Bạn thử chạy đoạn code sau:
Mã:
Sub GetPro()
On Error Resume Next
rw = 1
Worksheets(1).Activate
For Each p In ActiveWorkbook.BuiltinDocumentProperties
    Cells(rw, 1).Value = p.Name
    Cells(rw, 2).Value = ActiveWorkbook.BuiltinDocumentProperties(rw)
    rw = rw + 1
Next
End Sub
 
Gửi VODA
- Các thông tin từ Properties do người soạn nhập vào để quản lý file word.
- Thông tin title nhập theo dạng ( mm dd) 03 06.

Thân chào

Cám ơn vì đã nhiệt tình giúp đở!!!
 
Lần chỉnh sửa cuối:
Nguyên văn bởi thanhnhanubnd
Gửi VODA
- Các thông tin từ Properties do người soạn nhập vào để quản lý file word.
- Thông tin title nhập theo dạng ( mm dd) 03 06.
Đã làm xong phần chương trình. Bạn chạy thử xem. Lưu ý các điểm sau:
-Đặt tên file theo dạng: 02 05 tailieu1.(ngày ở trước)
-Nhập thông tin Title theo dạng: 04 07 08 ( ngày ở trước)
Góp ý thêm với bạn: khi post bài không nên nhờ một ai đó cụ thể, nên nhờ nhiều người . Vì như thế bạn sẽ nhận được nhiều sự giúp đỡ hơn.
Mã:
Option Explicit
Sub GetDoc_Properties()
Dim FolderName As String, wbName As String
Dim rw As Integer
Dim lrow As Long, lrow2 As Long
Dim ObjWord As Object
Dim DoSubj As String, DoTit As String, DoAut As String
Dim sDate
On Error Resume Next
lrow = ActiveSheet.Range("B65000").End(xlUp).Row
ActiveSheet.Range("A9:G" & lrow + 9).ClearContents
FolderName = Cells(4, 5)
wbName = Dir(FolderName & "\" & "*.doc")
Application.ScreenUpdating = False
rw = 9
Set ObjWord = CreateObject("Word.Application")
While wbName <> ""
       With ObjWord
           .Visible = True
           .Documents.Open (FolderName & "\" & wbName)
                DoSubj = .ActiveDocument.BuiltinDocumentProperties(2)
                DoTit = .ActiveDocument.BuiltinDocumentProperties(1)
                DoAut = .ActiveDocument.BuiltinDocumentProperties(3)
           .Documents(wbName).Close
         End With
    Cells(rw, 1) = rw - 8
    Cells(rw, 2).Value = DateSerial(2008, Mid(wbName, 4, 2), Mid(wbName, 1, 2))
    Cells(rw, 3).Value = Mid(wbName, 7, Len(wbName) - 10)
    Cells(rw, 4).Value = DoSubj
    sDate = Split(DoTit, " ")
    Cells(rw, 6).Value = DateSerial(sDate(2), sDate(1), sDate(0))
    Cells(rw, 5).Value = DoAut
    Cells(rw, 7).Value = Cells(rw, 6).Value - Cells(rw, 2).Value
    rw = rw + 1
           wbName = Dir
Wend
      Cells(5, 5) = rw - 9
      ObjWord.Quit
      lrow2 = Range("B65000").End(xlUp).Row
       Range("B9:H" & lrow2).Select
      Selection.Sort Key1:=Range("B9"), Order1:=xlAscending, Header:=xlNo, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
 Cells(1, 1).Select
If rw = 9 Then
     MsgBox "Duong dan hoac tap tin khong ton tai ", , "Thong bao"
End If
Application.ScreenUpdating = True
End Sub
 

File đính kèm

Rất tuyệt vời !
Cám ơn rất nhiều ! Mình xin hỏi thêm 1 chút nhé :Sau khi đã hoàn chỉnh mình có thể lập trình để Hyperlink những file Word đã được liệt kê với file nguồn; khi click vào file nào thì ta sẽ mở và xem được nội dung file Word đó.
 
Yêu cầu này không phải lập trình. Bạn chỉ cần dùng chức năng Hyperlink có sẵn của excel.
 
Nếu mình sử dụng Hyperlink của Excel thì không thể làm tự động được vì :
- Chỉ có thể làm thủ công từng file Word, khi đường dẫn thay đổi thì đâu còn hiểu được nữa?

Ý mình là Khi liệt kê bằng "Getdocpro" thì bản thân các file đã liên kết với file nguồn, khi nào muốn đọc thông tin file nguồn thì nhấn vào là được.
 
Lần chỉnh sửa cuối:
Bạn tìm và bổ sung code như sau:
Mã:
    Cells(rw, 1) = rw - 8
    Cells(rw, 2).Value = DateSerial(2008, Mid(wbName, 4, 2), Mid(wbName, 1, 2))
    Cells(rw, 3).Value = Mid(wbName, 7, Len(wbName) - 10)
    [B]Cells(rw, 3).Select
    ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=FolderName & "\" & wbName[/B]
 
Mình đã làm được rồi, cám ơn bạn thật nhiều.
 
Lần chỉnh sửa cuối:
Hay quá, không biết có thể liệt kê các file excel trong 1 thư mục để đễ quản lý không? Nếu được thì có thể thêm thông tin: Ngày tạo, ngày sửa.
Mong các cao thủ giúp đỡ.
Word làm được thì chắc là cel cũng được.
 
Mình nghĩ là được, Bạn xem lại đầu trang Code của Voda làm cho việc quản lý Excel đó
 
Lần chỉnh sửa cuối:
Đ[FONT=&quot]ượ[/FONT]c s[FONT=&quot]ự[/FONT] giúp đ[FONT=&quot]ở[/FONT] c[FONT=&quot]ủ[/FONT]a b[FONT=&quot]ạ[/FONT]n Voda đ[FONT=&quot]ế[/FONT]n nay m[FONT=&quot]ọ[/FONT]i vi[FONT=&quot]ệ[/FONT]c qu[FONT=&quot]ả[/FONT]n lý thư mục đã hoàn t[FONT=&quot]ấ[/FONT]t.

Mình đ[FONT=&quot]ị[/FONT]nh nh[FONT=&quot]ờ[/FONT] các b[FONT=&quot]ạ[/FONT]n giúp thêm 1 vi[FONT=&quot]ệ[/FONT]c :

T[FONT=&quot]ạ[/FONT]o 1 dãy g[FONT=&quot]ồ[/FONT]m các nút b[FONT=&quot]ấ[/FONT]m đ[FONT=&quot]ể[/FONT] ch[FONT=&quot]ọ[/FONT]n l[FONT=&quot]ọ[/FONT]c s[FONT=&quot]ố[/FONT] li[FONT=&quot]ệ[/FONT]u.




VD :

1. Đã ch
[FONT=&quot]ọ[/FONT]n đ[FONT=&quot]ượ[/FONT]c 30 file Word t[FONT=&quot]ừ[/FONT] 1 th[FONT=&quot]ư[/FONT] m[FONT=&quot]ụ[/FONT]c tùy ý ( theo HD c[FONT=&quot]ủ[/FONT]a voda).


2. T[FONT=&quot]ạ[/FONT]o thêm 1 form hay list g[FONT=&quot]ồ[/FONT]m các nút b[FONT=&quot]ấ[/FONT]m sau ( t[FONT=&quot]ạ[/FONT]o phía trên, bên tay ph[FONT=&quot]ả[/FONT]i màn hình).

2.1 Ch
[FONT=&quot]ỉ[/FONT] li[FONT=&quot]ệ[/FONT]t kê văn b[FONT=&quot]ả[/FONT]n trong tháng Đi[FONT=&quot]ề[/FONT]n tháng vào. (Tao list cung duoc)
( Đ[FONT=&quot]ể[/FONT] khi nh[FONT=&quot]ấ[/FONT]n vào ch[FONT=&quot]ỉ[/FONT] li[FONT=&quot]ệ[/FONT]t kê VB trong 1 tháng nào đó, không li[FONT=&quot]ệ[/FONT]t kê h[FONT=&quot]ế[/FONT]t).

2.2 Ch
[FONT=&quot]ỉ[/FONT] li[FONT=&quot]ệ[/FONT]t kê văn b[FONT=&quot]ả[/FONT]n trong ngày : đi[FONT=&quot]ề[/FONT]n vào ngày, tháng ( dd/mm).
( Đ[FONT=&quot]ể[/FONT] khi nh[FONT=&quot]ấ[/FONT]n vào ch[FONT=&quot]ỉ[/FONT] li[FONT=&quot]ệ[/FONT]t kê VB [FONT=&quot]ở[/FONT] 1 ngày nào đó tùy ý, n[FONT=&quot]ế[/FONT]u không có thì ra thông báo" Không có văn b[FONT=&quot]ả[/FONT]n đ[FONT=&quot]ượ[/FONT]c t[FONT=&quot]ạ[/FONT]o trong ngày dd/mm).

2.3 Ch
[FONT=&quot]ỉ[/FONT] li[FONT=&quot]ệ[/FONT]t kê văn b[FONT=&quot]ả[/FONT]n c[FONT=&quot]ủ[/FONT]a Đi[FONT=&quot]ề[/FONT]n tên vào đây ( text), ví d[FONT=&quot]ụ[/FONT] NHAN
( Đ[FONT=&quot]ể[/FONT] ch[FONT=&quot]ỉ[/FONT] li[FONT=&quot]ệ[/FONT]tkê VB có Subject là NHAN hay TEO, TY...)


(CHỮ MÀU ĐEN LÀ NÚT BẤM, BẤM VÀO NÚT NÀO THÌ LIỆT KÊ THEO KIỂU ĐÓ)
* Ch[FONT=&quot]ỉ[/FONT] li[FONT=&quot]ệ[/FONT]t kê văn b[FONT=&quot]ả[/FONT]n trong tháng : 09
*Ch
[FONT=&quot]ỉ[/FONT] li[FONT=&quot]ệ[/FONT]t kê văn b[FONT=&quot]ả[/FONT]n trong ngày : 03/08
*Ch[FONT=&quot]ỉ[/FONT] li[FONT=&quot]ệ[/FONT]t kê văn b[FONT=&quot]ả[/FONT]n c[FONT=&quot]ủ[/FONT]a :NHAN

Mong các cao th[FONT=&quot]ủ[/FONT] nghiên c[FONT=&quot]ứ[/FONT]u giúp, thân chào !!!
 
Lần chỉnh sửa cuối:
Nguyên văn bởi dphi_long60
Hay quá, không biết có thể liệt kê các file excel trong 1 thư mục để đễ quản lý không? Nếu được thì có thể thêm thông tin: Ngày tạo, ngày sửa.
Mong các cao thủ giúp đỡ.
Word làm được thì chắc là cel cũng được.
Nếu muốn thêm thông tin ngày tạo, ngày sửa, bạn thêm 2 dòng lệnh sau:
Cells(rw, ...).Value = ActiveWorkbook.BuiltinDocumentProperties(11): ngày tạo
Cells(rw, ...).Value = ActiveWorkbook.BuiltinDocumentProperties(12): ngày sửa
 
Tiện thể Voda cho mình hỏi thêm:
Giả sử tớ chuột fải/property vào file word, điền Comment cho nó nhưng sao khi dùng hàm
Cells(rw, ...).Value = ActiveWorkbook.BuiltinDocumentProperties("Comments) tại sao nó vẫn là 1 ô trắng??
Tks a lot
 
Nguyên nhân ở chỗ câu lệnh trên chỉ có tác dụng với file excel. Muốn dùng để lấy thông tin của file word, bạn có thể sử dụng code ở bài #15.
 
Oh year.
Tớ làm làm đc rồi, tks again;)

Nhưng lại có 1 vấn đề nữa!!! Đó là với các file định dạng khác .doc, chẳng hạn file pdf thì tớ lại không lấy được các thông tin (chẳng hạn như comment....) vì code ở bài 15 mở bằng word application!!!
Ai có kinh nghiệm thì tham gia nhé :)
Regard,
 
Chỉnh sửa lần cuối bởi điều hành viên:
Chào bạn thanhnhanubnd

bạn có thể uplên cho mình fiel hoàn chỉnh không. fiel Getdoc_pro của bạn khi lấy tên file hình như lấy không đầy đủ bị mất các ký tự đầu tiên, và nếu mình muốn lấy thêm các file excel luôn được không, hiện tại filènayy chỉ lấy file word không hà,

cảm ơn bạn
 
chào Bạn nhutmp, ( file Getdoc_pro của bạn VODA), mình chỉ chủ yếu là ý tưởng và sửa code lại cho phù hợp, trình bày lại các form cho vừa ý. Hiện tại mình đang nhờ các bạn trên diễn đàn giúp để hoàn chỉnh file này ( chủ yếu để quản lý văn bản). Dạo này cuối năm hơi lu bu công việc, bạn chờ nhé, chắc khoảng cuối tháng 12 mình hoàn chỉnh rồi up lên, cùng xài...
 
Lần chỉnh sửa cuối:
bạn ơi giúp mình một chút với:
- mình nhập đường dẫn vào bằng 2 cách là Hypelynk và copy địa chỉ thư mục vào thì đều báo lỗi file ko có hoặc đường dẫn sai.
- mình chỉ muốn lấy tên thư mục con + đường link tới thư mục đó thì làm thế nào được bạn?
tks!
 
Tôi gợi ý cho các bạn nhé:

- Nên cho nó hiện hộp thoại Dialog để chọn bất kỳ thư mục sẽ thuận tiện hơn là tạo đường dẫn ở E4 (không lẽ muốn lấy Link ở thư mục ở ổ đĩa khác hoặc thư mục khác lại Copy đường dẫn và Paste vào).

- Tôi nhớ không lầm thì đã có bài viết "Tạo Link đến các File của bất kỳ thư mục để mở nó" các bạn hãy tìm thử xem.
 
Lần chỉnh sửa cuối:
Hiện nay tôi đã tạo 1 File tự động lấy tên tất cả các loại File trong bất kỳ Folder kèm theo Link để mở từng File và tổng hợp từng loại File theo ngày tháng năm.

Nếu các bạn nào cần thì cho ý kiến, tôi sẽ mở Topic riêng cho vấn đề này và đính kèm File để các bạn sử dụng.
 
Mình chưa hiểu cách sử dụng, làm sao cho để cột E4 liên kết được với ổ cứng D:\.
 
Sao mình chọn D:/ thì cứ hiện textbox báo khoog có dữ liệu các bạn nhỉ
 
Làm sao để file của Voka tự động thống kê được file Excel và mở lên được vậy
 
Làm sao để file của Voka tự động thống kê được file Excel và mở lên được vậy

Muốn sử dụng File thì phải thiết lập chế độ chạy Macro.

Tặng bạn File này sử dụng thử, với chức năng:

Tự động lấy tên tất cả các loại File trong bất kỳ Folder kèm theo Link để mở từng File và tổng hợp từng loại File theo ngày tháng năm.

Cách sử dụng:
- Bước 1: Nhấn nút Tìm ổ dĩa và chọn thư mục.
- Bước 2: Nhấn nút Lấy Link (chờ giây lát và xem kết quả).
 

File đính kèm

Muốn sử dụng File thì phải thiết lập chế độ chạy Macro.

Tặng bạn File này sử dụng thử, với chức năng:

Tự động lấy tên tất cả các loại File trong bất kỳ Folder kèm theo Link để mở từng File và tổng hợp từng loại File theo ngày tháng năm.

Cách sử dụng:
- Bước 1: Nhấn nút Tìm ổ dĩa và chọn thư mục.
- Bước 2: Nhấn nút Lấy Link (chờ giây lát và xem kết quả).
Tuyệt vời, cảm ơn bạn, chúc bạn mạnh khỏe.
 

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

Back
Top Bottom