Đính kèm file bằng cách click button tren userform (1 người xem)

  • Thread starter Thread starter humucxt
  • Ngày gửi Ngày gửi

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

humucxt

Thành viên mới
Tham gia
12/9/11
Bài viết
41
Được thích
1
Các cao thủ giúp em với! Có cách nào đính kèm 1 file hoặc nhiều file bằng cách click vào button trên Userform không ah? Sau khi click thì file đính kèm đó sẽ hiển thị ở 1 vị trị nhất định trong worksheet.
Em cảm ơn nhiều!
 
Đoạn code này giúp hiển thị Dialogs để insert file đính kèm: Application.Dialogs(xlDialogInsertObject).Show
 
Lần chỉnh sửa cuối:
Upvote 0
Đoạn code này giúp hiển thị Dialogs để insert file đính kèm: Application.Dialogs(xlDialogInsertObject).Show
Cảm ơn bác đã giúp. Nhưng ý của em là khi mình chọn file thì sẽ hiển thị tên file ở 1 ô nào đó, khi click vào tên file thì nó sẽ mở ra file tương ứng (giống kiểu hyperlink). Có thể hiển thị nhiều file trong cùng 1 cell được không ah?
 
Upvote 0
Cảm ơn bác đã giúp. Nhưng ý của em là khi mình chọn file thì sẽ hiển thị tên file ở 1 ô nào đó, khi click vào tên file thì nó sẽ mở ra file tương ứng (giống kiểu hyperlink). Có thể hiển thị nhiều file trong cùng 1 cell được không ah?
Trong thẻ Create From file có 2 checkbox là Link to file và display as icon đó bạn!!!
 
Upvote 0
Cảm ơn bác đã giúp. Nhưng ý của em là khi mình chọn file thì sẽ hiển thị tên file ở 1 ô nào đó, khi click vào tên file thì nó sẽ mở ra file tương ứng (giống kiểu hyperlink). Có thể hiển thị nhiều file trong cùng 1 cell được không ah?

Tặng bạn cái này:

Capture.JPG







































- Tải file đính kèm về máy, mở lên, bạn sẽ thấy 1 biểu tượng nằm trên thanh menu (hình cái ống nhòm)
- Bấm vào biểu tượng, form mở lên. Bấm vào cái nút có dấu 3 chấm (...) để duyệt đến folder (bạn cũng có thể gõ trực tiếp đường dẫn đến folder vào ComboBox nếu muốn)
- Tại khung Search String, gõ từ khóa mà bạn muốn tìm (chẳng hạn muốn tìm loại file xls thì gõ *.xls)
- Check mục Include sub folders nếu muốn tìm luôn trong các thư mục con (và ngược lại)
- Xong, bấm nút Search
- Kết quả sẽ hiện trên listbox đồng thời Hyperlink cũng sẽ được chèn xuống sheet tính từ cell hiện hành
- Lưu ý: Hyperlink cũng được chèn vào từng dòng trong listbox. Double Click vào từng dòng trên listbox cũng sẽ link đến nơi chứa file (nhưng link theo kiểu khác)
----------------
Thử xem nhé
 

File đính kèm

Upvote 0
File thầy ndu nếu có thêm sự kiện vừa tìm theo đuôi file ( như trên) và có thể tìm theo tên (không nhớ đuôi file) thì tốt quá. Vì bên em cũng lưu trữ hồ sơ công trình, nhưng ngặt nổi mỗi lần tìm các thông số kỹ thuật thì lại tốn rất nhiều thời gian.
 
Upvote 0
File thầy ndu nếu có thêm sự kiện vừa tìm theo đuôi file ( như trên) và có thể tìm theo tên (không nhớ đuôi file) thì tốt quá. Vì bên em cũng lưu trữ hồ sơ công trình, nhưng ngặt nổi mỗi lần tìm các thông số kỹ thuật thì lại tốn rất nhiều thời gian.

Sao bạn không thử đi rồi hãy ý kiến?
Ví dụ tìm tất cả các file mà trong tên file có chữ Excel ----> Vậy thì gõ vào khung Search String từ khóa *Excel*
Nói chung: Nhớ cái gì, gõ cái đó, nó tìm được tuốt đấy
 
Upvote 0
Em có file excel Test.xls lưu đưowngf dẫn E:\Test; tại khung search for files em gõ E: ; tại khung search string em gõ test thì nó báo lỗi file (or folder) not found. Nếu gõ Test.xls thì oke. Thầy xem giùm em
 
Upvote 0
Upvote 0
Tặng bạn cái này:

View attachment 100457







































- Tải file đính kèm về máy, mở lên, bạn sẽ thấy 1 biểu tượng nằm trên thanh menu (hình cái ống nhòm)
- Bấm vào biểu tượng, form mở lên. Bấm vào cái nút có dấu 3 chấm (...) để duyệt đến folder (bạn cũng có thể gõ trực tiếp đường dẫn đến folder vào ComboBox nếu muốn)
- Tại khung Search String, gõ từ khóa mà bạn muốn tìm (chẳng hạn muốn tìm loại file xls thì gõ *.xls)
- Check mục Include sub folders nếu muốn tìm luôn trong các thư mục con (và ngược lại)
- Xong, bấm nút Search
- Kết quả sẽ hiện trên listbox đồng thời Hyperlink cũng sẽ được chèn xuống sheet tính từ cell hiện hành
- Lưu ý: Hyperlink cũng được chèn vào từng dòng trong listbox. Double Click vào từng dòng trên listbox cũng sẽ link đến nơi chứa file (nhưng link theo kiểu khác)
----------------
Thử xem nhé
Em cảm ơn thầy. File của thầy rất hay, em cũng đã xem file này của thầy chia sẻ trước rồi. Nhưng ý của em là em có 1 list hợp đồng. Mọi thứ liên quan đến hợp đồng đều nằm trên 1 dòng. Hợp đồng có các chứng từ thanh toán (file scan). Làm thế nào để em hyperlink đến các chứng từ này qua Userform. Vì tất cả thông tin Hợp đồng em nhập qua Userform. Làm như của thầy em không biết áp dụng thế nào. Thầy có thể giúp em được không ah?
 
Upvote 0
Em cảm ơn thầy. File của thầy rất hay, em cũng đã xem file này của thầy chia sẻ trước rồi. Nhưng ý của em là em có 1 list hợp đồng. Mọi thứ liên quan đến hợp đồng đều nằm trên 1 dòng. Hợp đồng có các chứng từ thanh toán (file scan). Làm thế nào để em hyperlink đến các chứng từ này qua Userform. Vì tất cả thông tin Hợp đồng em nhập qua Userform. Làm như của thầy em không biết áp dụng thế nào. Thầy có thể giúp em được không ah?

Bạn mô tả thế thì tôi bó tay rồi ---> Chẳng hình dung được bạn nói gì cả
 
Upvote 0
Bạn mô tả thế thì tôi bó tay rồi ---> Chẳng hình dung được bạn nói gì cả
Cũng như hình thức em hyperlink (như file đính kèm). Nhưng em muốn hyperlink bằng cách tạo 1 button trên userform. Khi click vào button này thì cũng cho mình chọn file cần đính kèm và gán hyperlink vào 1 cell mình chọn trước. Em không biết diễn đạt thế có đúng không nữa. Cảm ơn thầy giúp đỡ!
 

File đính kèm

Upvote 0
Cũng như hình thức em hyperlink (như file đính kèm). Nhưng em muốn hyperlink bằng cách tạo 1 button trên userform. Khi click vào button này thì cũng cho mình chọn file cần đính kèm và gán hyperlink vào 1 cell mình chọn trước. Em không biết diễn đạt thế có đúng không nữa. Cảm ơn thầy giúp đỡ!

Ít ra cái form thế nào, button thế nào, hoạt động ra sao... vân.. vân.. bạn phải thiết kế trước cho người ta thấy chứ
Xem file của bạn cũng.. hổng hiểu luôn
----------------
File tôi cho bạn ở trên chẳng phải cũng gán link vào cell sao?
 
Upvote 0
Ít ra cái form thế nào, button thế nào, hoạt động ra sao... vân.. vân.. bạn phải thiết kế trước cho người ta thấy chứ
Xem file của bạn cũng.. hổng hiểu luôn
----------------
File tôi cho bạn ở trên chẳng phải cũng gán link vào cell sao?
Em không biết làm thế nào nên mới hỏi thầy là có làm được không? Thầy lại hỏi thế thì em không biết giải thích ntn đc. Tóm lại là: Mình có 1 cái form, có thể tạo 1 button hoặc 1 cái gì đó để gán link không ạ? Sau khi gán thì link đó được thay thế bằng tên file thôi và hiển thị tại 1 cell mình quy định.
Cảm ơn thầy đã giúp!
 
Upvote 0
Em không biết làm thế nào nên mới hỏi thầy là có làm được không? Thầy lại hỏi thế thì em không biết giải thích ntn đc. Tóm lại là: Mình có 1 cái form, có thể tạo 1 button hoặc 1 cái gì đó để gán link không ạ? Sau khi gán thì link đó được thay thế bằng tên file thôi và hiển thị tại 1 cell mình quy định.
Cảm ơn thầy đã giúp!

Chẳng biết sao nữa... làm đại, hên thì trúng
(Tôi vẫn không hiểu tại sao phải cần có 1 UserForm? Nút nhấn bình thường trên sheet cũng được vậy)
 

File đính kèm

Upvote 0
Cảm ơn thầy nhiều! Đúng ý của em rồi đó thầy. Liệu có thể chọn nhiều file 1 lúc được không thầy?

Thì sửa code thành vầy:
Mã:
Private Sub CommandButton1_Click()
  Dim vFile, Item, sFile, n As Long
  vFile = Application.GetOpenFilename("Excel Files, *.xls;*.xlsx;*.xlsm", , , , True)
  If TypeName(vFile) = "Variant()" Then
    For Each Item In vFile
      sFile = Mid(Item, InStrRev(Item, "\") + 1)
      With Sheet1.Range("B2").Offset(n)
        .Hyperlinks.Add .Cells, Item, , , sFile
      End With
      n = n + 1
    Next
  End If
End Sub
Lúc hộp Open hiện lên, dùng chuột kết hợp với phím Ctrl hoặc Shift để chọn nhiều file
 
Upvote 0
Thì sửa code thành vầy:
Mã:
Private Sub CommandButton1_Click()
  Dim vFile, Item, sFile, n As Long
  vFile = Application.GetOpenFilename("Excel Files, *.xls;*.xlsx;*.xlsm", , , , True)
  If TypeName(vFile) = "Variant()" Then
    For Each Item In vFile
      sFile = Mid(Item, InStrRev(Item, "\") + 1)
      With Sheet1.Range("B2").Offset(n)
        .Hyperlinks.Add .Cells, Item, , , sFile
      End With
      n = n + 1
    Next
  End If
End Sub
Lúc hộp Open hiện lên, dùng chuột kết hợp với phím Ctrl hoặc Shift để chọn nhiều file
Đúng là sư phụ. Rất đúng ý của em thầy ạ. Đúng là việc không biết đặt câu hỏi đã làm khó, và mất nhiều thời gian của thầy.
Em cảm ơn thầy nhiều!
 
Upvote 0
Tôi có xây dựng một Form để quản lý tài liệu của mình trên cơ sở hướng dẫn của Bạn ndu96081631, đến phần tạo nút "đính kèm fle" thì chỉ mở được toàn file exel mà không mở được file khác. Tôi có thử thêm đuôi (*.doc;*.docx) vào câu lệnh thì mở thư mục và chọn được file nhưng nó không sắp xếp theo thứ tự trước sau mà nó lại "chồng lên địa chỉ (ô cell) trước. Bạn cho hỏi:
Nếu như đính kèm từng file và file sau không trùng lên file trước thì minh phải thêm lệnh gì.
Thanks các bạn
 
Upvote 0
File của thầy NDU có dòng lệnh:'Run "cmd /u for working with unicode text. em muốn hỏi là dùng như thế nào ah. Thanks
 
Upvote 0
Bạn NDU ơi. Cho tôi hỏi trong File "Test.xlsm" khi chọn nút commandButton1 để chọn file đính kèm (Hyperlink) thì làm sao để lần chọn file sau không trùng (ghi đè) lên file mình đã chọn trước vậy.
 
Upvote 0
Bạn NDU ơi. Cho tôi hỏi trong File "Test.xlsm" khi chọn nút commandButton1 để chọn file đính kèm (Hyperlink) thì làm sao để lần chọn file sau không trùng (ghi đè) lên file mình đã chọn trước vậy.

Trong code này:
Mã:
Private Sub CommandButton1_Click()
  Dim vFile, sFile As String
  vFile = Application.GetOpenFilename("Excel Files, *.xls;*.xlsx;*.xlsm")
  If TypeName(vFile) = "String" Then
    sFile = Mid(vFile, InStrRev(vFile, "\") + 1)
    [COLOR=#ff0000]With Sheet1.Range("B2")[/COLOR]
      .Hyperlinks.Add .Cells, vFile, , , sFile
    End With
  End If
End Sub
Sửa chỗ màu đỏ thành: With Sheet1.Range("B60000").End(xlUp).Offset(1)
 
Upvote 0

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

Back
Top Bottom