Code vba không cho thay đổi tên addin (1 người xem)

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

nguyenkhoadng

Thành viên hoạt động
Tham gia
15/6/11
Bài viết
179
Được thích
30
Chào các anh!
Em làm đoạn code với mục đích không cho thay đổi tên Addin, nhờ các anh xem giúp đoạn code bị lỗi gì mà không hoạt động được.
Em cảm ơn!
Mã:
    If Application.AddIns.Name <> "TienIch.xla" Then
            MsgBox "- Ten file Addin Tien Ich da thay doi !" & Chr(13) & "- Kich OK roi sua ten file thanh ''TienIch.xla'' !", , "Thong bao"
        Exit Sub
    End If
 
Chào các anh!
Em làm đoạn code với mục đích không cho thay đổi tên Addin, nhờ các anh xem giúp đoạn code bị lỗi gì mà không hoạt động được.
Em cảm ơn!
Mã:
    If Application.AddIns.Name <> "TienIch.xla" Then
            MsgBox "- Ten file Addin Tien Ich da thay doi !" & Chr(13) & "- Kich OK roi sua ten file thanh ''TienIch.xla'' !", , "Thong bao"
        Exit Sub
    End If
PHP:
Sub FindAddIn()
Dim AddinName As Object, Chk As Boolean
For Each AddinName In Application.AddIns
   If AddinName.Name = "TienIch.xla" Then Chk = True
Next
If Not Chk Then
   MsgBox "Ten AddIn da bi thay doi"
   'Muon lam gi tiep thi lam o day
End If
End Sub
 
Upvote 0
Chào các anh!
Em làm đoạn code với mục đích không cho thay đổi tên Addin, nhờ các anh xem giúp đoạn code bị lỗi gì mà không hoạt động được.
Em cảm ơn!
Mã:
    If Application.AddIns.Name <> "TienIch.xla" Then
            MsgBox "- Ten file Addin Tien Ich da thay doi !" & Chr(13) & "- Kich OK roi sua ten file thanh ''TienIch.xla'' !", , "Thong bao"
        Exit Sub
    End If
Nếu code kiểm tra trong file TienIch.xla thì dùng đoạn code sau:
PHP:
If ThisWorkbook.Name <> "TienIch.xla" Then
    MsgBox "..."
    Exit Sub
End If
Ngược lại thì dùng đoạn code sau
PHP:
On Error Resume Next
If Workbooks("TienIch.xla") Is Nothing Then
    MsgBox "..."
    Exit Sub
End If
On Error GoTo 0
Nên dùng cách 1 vì cách 2 chỉ có thể khẳng định không có file TienIch.xla nào đang mở chứ không biết file TienIch.xla không được mở hay có mở nhưng đã đổi tên.
 
Lần chỉnh sửa cuối:
Upvote 0
Chào các anh!
Em làm đoạn code với mục đích không cho thay đổi tên Addin, nhờ các anh xem giúp đoạn code bị lỗi gì mà không hoạt động được.
Em cảm ơn!
Mã:
    If Application.AddIns.Name <> "TienIch.xla" Then
            MsgBox "- Ten file Addin Tien Ich da thay doi !" & Chr(13) & "- Kich OK roi sua ten file thanh ''TienIch.xla'' !", , "Thong bao"
        Exit Sub
    End If
Bạn thử thêm cách này.

Nếu tên AddIn đang tồn tại thì sẽ tự động Load vào Excel luôn. Nếu không tìm thấy thì sẽ thông báo
PHP:
Sub FindAddIn()
Dim AddinName As String
AddinName = "E:\EXCEL\TienIch.xla"
With CreateObject("scripting.filesystemobject")
   If .FileExists(AddinName) Then
      Application.AddIns.Add(AddinName, 1).Installed = 1
      MsgBox AddinName & " has been loaded.", vbInformation
   Else
      MsgBox "Cannot find this Addin:" & vbLf & vbLf & AddinName, vbCritical
   End If
End With
End Sub
 
Upvote 0
Bạn thử thêm cách này.

Nếu tên AddIn đang tồn tại thì sẽ tự động Load vào Excel luôn. Nếu không tìm thấy thì sẽ thông báo
PHP:
Sub FindAddIn()
Dim AddinName As String
AddinName = "E:\EXCEL\TienIch.xla"
With CreateObject("scripting.filesystemobject")
   If .FileExists(AddinName) Then
      Application.AddIns.Add(AddinName, 1).Installed = 1
      MsgBox AddinName & " has been loaded.", vbInformation
   Else
      MsgBox "Cannot find this Addin:" & vbLf & vbLf & AddinName, vbCritical
   End If
End With
End Sub
không liên quan nhưng anh vào http://www.giaiphapexcel.com/forum/...gửi-mail-hàng-loạt-với-attach-file-riêng-biệt xem giúp em vấn đề này với ạ. Em đang cần mà không biết làm sao. Cảm ơn anh!
 
Upvote 0

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

Back
Top Bottom