Xin chào giảng viên. Mình muốn tạo một nút bấm trên UserForm, nút bấm có chức năng là khi mình bấm nút nó sẽ trỏ đến file mình muốn đính kèm vào Sheet. Giống như tạo một link dưới dạng nhập liệu vậy ạ.
Mình đang làm phần mềm quản lý văn bản. Và mình muốn lưu link liên kết đến file, để khi mở được nhanh chóng
Chào bạn bạn xem chương 10 phần gộp file sẽ có code làm việc với các forder và file nhé.
Ý là nó mình đã chọn được file nhưng muốn nó lưu đường dẫn đó luôn ạ
chào bạn khi bạn lấy được đường dẫn bạn sẽ lưu vào biến dòng cuối tại một sheets là được nhé.
Chào bạn do phần File_Duoc_Chon kia luôn khác rỗng lên code sẽ sai bạn xem code mẫu nhé
Option Explicit
Private Sub cmb_DinhKem_Click()
Dim File_Duoc_Chon As String, counter As Integer
With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = True
If .Show = -1 Then
counter = 1
Do While counter <= .SelectedItems.Count
Dim DuongDan As String
DuongDan = .SelectedItems(counter)
Dim TenFile As String
TenFile = "**.*"
File_Duoc_Chon = Dir(DuongDan & TenFile)
Dim DongCuoi As Long
counter = counter + 1
DongCuoi = Sheet1.Range("B" & Rows.Count).End(xlUp).Row
Sheet1.Range("H" & DongCuoi + counter).Value = File_Duoc_Chon
Loop
End If
End With
End Sub
Đã thêm vào được đường dẫn nhưng mở không được file lên ạ. Nó chỉ lưu được kí tự, với lại nó thêm ngay dòng phía 01 dòng chỗ cần thêm. Hông biết sửa sao luôn Thầy ơi
Chào bạn bạn muốn kích vào tên file để mở link đúng không?
Đã thêm được file vào Ô. Tuy nhiên đó chỉ là kí tự, khi nhấp mở thì không được, không xuất hiện gì
Mong được Thầy giải đáp
Chào bạn bạn phải add thêm link vào nữa thì mới có thể thêm link vào trong file được.
Mình muốn VBA một lần được không ạ. Chứ làm như vậy không tối ưu cho lắm. Như vậy mất 02 thao tác đúng không ạ?
Mình VBA một lần cho nó đính kèm tới link đó luôn. Rồi sao đó muốn mở lên nó sẽ tìm đến file đó một cách nhanh chóng. như vậy sẽ tối ưu hơn ạ
Khi bạn ghi vào sheets bạn add link luôn nhé
Hông em là 1 phát một trong VBA code add link luôn được không ạ. Chứ đính kèm được tên file nhưng mắc ra ngoài chèn link nữa thì mắc công quá ạ. Thầy giúp em với
Chào bạn phần này bạn cần phải thử với cách hypelink rồi gán luôn vào sheets nhé, bạn thử recondmacro xem nó ghi thế nào nhé. rồi lồng vào vòng lặp luôn
Sub Macro1()
Range("H13").Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
"C:\Users\MINHY\Downloads\Test_File_Dinh_Kem\DAP AN.docx", TextToDisplay:= _
"DAP AN.docx"
End Sub
Chào bạn bạn làm như sau nhé
Option Explicit
Private Sub cmb_DinhKem_Click()
Dim File_Duoc_Chon As String, counter As Integer
With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = True
If .Show = -1 Then
counter = 1
Do While counter <= .SelectedItems.Count
Dim DuongDan As String
DuongDan = .SelectedItems(counter)
Dim TenFile As String
TenFile = "**.*"
File_Duoc_Chon = Dir(DuongDan & TenFile)
Dim DongCuoi As Long
counter = counter + 1
DongCuoi = Sheet1.Range("B" & Rows.Count).End(xlUp).Row
Sheet1.Range("H" & DongCuoi + counter).Value = File_Duoc_Chon
Sheet1.Hyperlinks.Add Anchor:=Sheet1.Range("H" & DongCuoi + counter), Address:=DuongDan, TextToDisplay:=File_Duoc_Chon
Loop
End If
End With
End Sub
Đã thêm được link tuy nhiên. Link lưu không đúng dòng được lưu ạ
Đây là code văn bản:
Option Explicit
Private Sub cmb_DinhKem_Click()
Dim File_Duoc_Chon As String, counter As Integer
With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = True
If .Show = -1 Then
counter = 1
Do While counter <= .SelectedItems.Count
Dim DuongDan As String
DuongDan = .SelectedItems(counter)
Dim TenFile As String
TenFile = "**.*"
File_Duoc_Chon = Dir(DuongDan & TenFile)
Dim DongCuoi As Long
counter = counter + 1
DongCuoi = Sheet2.Range("B" & Rows.Count).End(xlUp).Row
Sheet2.Range("H" & DongCuoi + counter).Value = File_Duoc_Chon
Sheet2.Hyperlinks.Add Anchor:=Sheet2.Range("H" & DongCuoi + counter), Address:=DuongDan, TextToDisplay:=File_Duoc_Chon
Loop
End If
End With
End Sub
Còn đây là Code lưu của em. Do là textbox Đính kèm không có dữ liệu nên em đã bỏ thêm phần tb_DinhKem
Luu du lieu
Private Sub cmb_Luu_Click()
'Tim dong cuoi trong ban du lieu
Dim DongCuoi As Long
DongCuoi = Sheet2.Range("B" & Rows.Count).End(xlUp).Row
'Luu tung noi dung
With Sheet2
Sheet2.Range("A" & DongCuoi + 1).Value = CLng(tb_Stt.Value)
Sheet2.Range("B" & DongCuoi + 1).Value = tb_SoHieuVanBan.Value
Sheet2.Range("C" & DongCuoi + 1).Value = CDate(tb_NgayThangNamBanHanh.Value)
Sheet2.Range("D" & DongCuoi + 1).Value = cb_TenLoaiVanBan.Value
Sheet2.Range("E" & DongCuoi + 1).Value = tb_NoiDung.Value
Sheet2.Range("F" & DongCuoi + 1).Value = tb_NoiBanHanh.Value
Sheet2.Range("G" & DongCuoi + 1).Value = tb_ThoiHanBaoCao.Value
'Sheet2.Range("H" & DongCuoi + 1).Value = tb_DinhKem.Value
Sheet2.Range("I" & DongCuoi + 1).Value = tb_GhiChu.Value
End With
MsgBox "Ban da them moi van ban thanh cong", vbInformation
MsgBox "Ban có muon them van ban khong?", vbInformation
'lam moi noi dung Userform
Unload Me
Uf_ThemMoi.Show
End Sub
Chào bạn bạn dubug xem phần ghi vào lưu dữ liệu số dòng lệnh thế nào bạn nhé.
Thầy giải thích em xem. Sao em thêm link nó lại lưu dưới 01 dòng ạ
Chào bạn phần này bạn phải dubug thì mới biết được phần add link tại sao lại lệch một dòng
Mình muốn tạo Userform đăng nhập mật khẩu rồi sao đó mới cho sử dụng File. Thì cách làm như nào ạ?
Chào bạn phần này bạn phải dùng vòng lặp để kiểm tra tên đăng nhập và mk nếu đúng thì bạn cho đăng nhập nếu sai thì bạn không cho đăng nhập nhé.
Thầy cho em hỏi. Em muốn tách dữ liệu từ 01 dòng ra thành bảng mà dùng Mảng. Dictionnary mà hông biết code nó như thế nào
Chào bạn phần mảng và dic bạn phải xem khoá học sau mới có