ĐẶNG MINH Ý
ĐẶNG MINH Ý
Thảo luận 26 thảo luận
Vỗ tay 0 vỗ tay
Lượt xem 295 lượt xem

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

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

Thảo luận 26 câu trả lời
Lượt xem 295 lượt xem
Vỗ tay vỗ tay
ĐẶNG MINH Ý 15:10 - Oct 04, 2021

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é.

Vỗ tay vỗ tay
ĐẶNG MINH Ý 08:10 - Oct 07, 2021

Ý là nó mình đã chọn được file nhưng muốn nó lưu đường dẫn đó luôn ạ

Vỗ tay vỗ tay
ĐẶNG MINH Ý 09:10 - Oct 07, 2021

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é.

Vỗ tay vỗ tay
ĐẶNG MINH Ý 11:10 - Oct 07, 2021
Private Sub cmb_DinhKem_Click()
       With Application.FileDialog(msoFileDialogFilePicker)
        .AllowMultiSelect = False
        If .Show = -1 Then
            Dim DuongDan As String
                DuongDan = .SelectedItems(1)
            Dim TenFile As String
                TenFile = "**.*"
            Dim File_Duoc_Chon As String
                File_Duoc_Chon = Dir(DuongDan & TenFile)
          Do while Fie_Duoc_Chon <> ""
               Dim DongCuoi As Long
               DongCuoi = Sheet2.Range("B" & Rows.Count).End(xlUp).Row
               Sheet2.Range("H" & DongCuoi + 1).value = File_Duoc_Chon
            Loop
        End If
        End With
End Sub
---
Chay code nó đứng NosrphongDing hoài Thầy ơi
Vỗ tay vỗ tay
ĐẶNG MINH Ý 14:10 - Oct 07, 2021

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
Vỗ tay vỗ tay
ĐẶNG MINH Ý 16:10 - Oct 07, 2021

Đã 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

Vỗ tay vỗ tay
ĐẶNG MINH Ý 16:10 - Oct 07, 2021
Thêm ngay dòng phía dưới 01 dòng
Vỗ tay vỗ tay
ĐẶNG MINH Ý 16:10 - Oct 07, 2021

Chào bạn bạn muốn kích vào tên file để mở link đúng không?

Vỗ tay vỗ tay
ĐẶNG MINH Ý 16:10 - Oct 07, 2021

Đã 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

Vỗ tay vỗ tay
ĐẶNG MINH Ý 16:10 - Oct 07, 2021

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.

Vỗ tay vỗ tay
ĐẶNG MINH Ý 18:10 - Oct 07, 2021

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 ạ?

Vỗ tay vỗ tay
ĐẶNG MINH Ý 18:10 - Oct 07, 2021

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 ạ

Vỗ tay vỗ tay
ĐẶNG MINH Ý 18:10 - Oct 07, 2021

Khi bạn ghi vào sheets bạn add link luôn nhé

Vỗ tay vỗ tay
ĐẶNG MINH Ý 19:10 - Oct 07, 2021

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

Vỗ tay vỗ tay
ĐẶNG MINH Ý 08:10 - Oct 08, 2021

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

Vỗ tay vỗ tay
ĐẶNG MINH Ý 10:10 - Oct 08, 2021

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

----
Đây là Code Record Macro Em hông biết thêm vào sao luôn
-----
Đây là Code Đính kèm
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
              Loop
        End If
        End With
End Sub

Vỗ tay vỗ tay
ĐẶNG MINH Ý 10:10 - Oct 08, 2021

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
Vỗ tay vỗ tay
ĐẶNG MINH Ý 10:10 - Oct 09, 2021

Đã 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

Vỗ tay vỗ tay
ĐẶNG MINH Ý 10:10 - Oct 09, 2021

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

Vỗ tay vỗ tay
ĐẶNG MINH Ý 10:10 - Oct 09, 2021

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é.

Vỗ tay vỗ tay
ĐẶNG MINH Ý 10:10 - Oct 09, 2021

Thầy giải thích em xem. Sao em thêm link nó lại lưu dưới 01 dòng ạ

Vỗ tay vỗ tay
ĐẶNG MINH Ý 10:10 - Oct 09, 2021

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

Vỗ tay vỗ tay
ĐẶNG MINH Ý 17:10 - Oct 09, 2021

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 ạ?

Vỗ tay vỗ tay
ĐẶNG MINH Ý 09:10 - Oct 11, 2021

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é.

Vỗ tay vỗ tay
ĐẶNG MINH Ý 10:10 - Oct 17, 2021

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

Vỗ tay vỗ tay
ĐẶNG MINH Ý 09:10 - Oct 18, 2021

Chào bạn phần mảng và dic bạn phải xem khoá học sau mới có

https://by.com.vn/


Vỗ tay vỗ tay
Câu hỏi liên quan
© 2020 - Bản quyền của Công Ty Cổ Phần Công Nghệ Giáo Dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở Kế hoạch và Đầu tư TP. Hà Nội
Giấy phép mạng xã hội số: 588, cấp bởi Bộ Thông tin và Truyền thông