Xóa Tên Addin ra khỏi danh sách Addin khi không sử dụng

  • Thread starter Thread starter vba_gpe
  • Ngày gửi Ngày gửi
Liên hệ QC

vba_gpe

Thành viên thường trực
Tham gia
15/12/10
Bài viết
296
Được thích
44
Nghề nghiệp
Thất nghiệp
Gửi anh chị giải pháp excel
Để không cài đặt addin theo em được biết mìh sử dụng VB :
PHP:
AddIns(".....xla").Installed = False
Tuy nhiên, trong danh sách addin vẫn còn tên của cái addin đó. Chỉ bỏ dấu check đi thôi. Bây giờ mình có cách nào dùng VB để khi mà "Installed = False" thì nó sẽ tự động xóa tên addin đó khỏi danh sách addin hiện có của Excel.

Trân trọng cảm ơn mọi người.

Mong nhận được hồi đáp của anh chị.
Thân.
 
Gửi anh chị giải pháp excel
Để không cài đặt addin theo em được biết mìh sử dụng VB :
PHP:
AddIns(".....xla").Installed = False
Tuy nhiên, trong danh sách addin vẫn còn tên của cái addin đó. Chỉ bỏ dấu check đi thôi. Bây giờ mình có cách nào dùng VB để khi mà "Installed = False" thì nó sẽ tự động xóa tên addin đó khỏi danh sách addin hiện có của Excel.

Trân trọng cảm ơn mọi người.

Mong nhận được hồi đáp của anh chị.
Thân.

Cách đơn giản là bạn chuyển file add-in ra nơi khác sau đó vào lại cửa sổ quản lý Add-Ins trong Excel, bấm chuột vào tên add-in đó, nó sẽ tự xóa bỏ.
 
Cảm ơn Anh Tuân.
Cách đó là mình làm thủ công rồi đúng không anh. Ý em là có thể có cách nào dùng code VB để xóa luôn cái tên của addin này ra khỏi danh sách luôn không í.
Mong nhận được đóng góp của anh chị.
Cảm ơn mọi người .
 
Cảm ơn Anh Tuân.
Cách đó là mình làm thủ công rồi đúng không anh. Ý em là có thể có cách nào dùng code VB để xóa luôn cái tên của addin này ra khỏi danh sách luôn không í.
Mong nhận được đóng góp của anh chị.
Cảm ơn mọi người .

Để xử lý trong code, bạn làm như sau
1. Tìm trên google ví dụ về tìm & xóa Key trong Registry
2. Excel lưu Add-ín trong Registry tại "HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Excel\Options". Bạn dùng code từ 1. tìm và xóa add-ín bạn muốn.
14.0 - Office 2010
12.0 - Office 2007
11.0 - Office 2003
10.0 - Office XP
....
 
Cảm ơn Anh Tuân.
Cách đó là mình làm thủ công rồi đúng không anh. Ý em là có thể có cách nào dùng code VB để xóa luôn cái tên của addin này ra khỏi danh sách luôn không í.
Mong nhận được đóng góp của anh chị.
Cảm ơn mọi người .
Thế thì bạn sử dụng code để xóa file?
 
Thế thì bạn sử dụng code để xóa file?
Nếu dùng cách của viehoai, theo mình nghĩ phải làm thêm một bước đệm để không mất file xla: Copy file .xla từ nguồn -> Đưa vào 1 vị trí nào đó -> Load addin đối với file xla từ vị trí đó.
Xong rồi xóa file .xla tại vị trí đó. (lần sau chạy lại thực hiện copy lại).
Nếu bạn viehoai có cao kiến. Mong chỉ giáo.

Còn cách của anh Tuân, em chắc pó tay vì chưa đạt đến trình độ đó rồi. Hì hì. Cảm ơn anh Tuân. Nếu được anh chỉ giúp luôn được không ạ.

Mong nhận được đóng góp của mọi người.
Cảm ơn.
Thân.
 
Nếu dùng cách của viehoai, theo mình nghĩ phải làm thêm một bước đệm để không mất file xla: Copy file .xla từ nguồn -> Đưa vào 1 vị trí nào đó -> Load addin đối với file xla từ vị trí đó.
Xong rồi xóa file .xla tại vị trí đó. (lần sau chạy lại thực hiện copy lại).
Nếu bạn viehoai có cao kiến. Mong chỉ giáo.

Còn cách của anh Tuân, em chắc pó tay vì chưa đạt đến trình độ đó rồi. Hì hì. Cảm ơn anh Tuân. Nếu được anh chỉ giúp luôn được không ạ.

Mong nhận được đóng góp của mọi người.
Cảm ơn.
Thân.

Bạn không muốn làm thủ công và muốn dùng CODE thì phải cố làm theo cách đó thôi. Tìm Google "Read and Write Windows Registry with VBA" bạn sẽ làm được. Tôi đang dở việc nên chỉ tranh chủ chỉ hướng cho bạn được thôi.
 
Gửi anh chị giải pháp excel
Để không cài đặt addin theo em được biết mìh sử dụng VB :
PHP:
AddIns(".....xla").Installed = False
Tuy nhiên, trong danh sách addin vẫn còn tên của cái addin đó. Chỉ bỏ dấu check đi thôi. Bây giờ mình có cách nào dùng VB để khi mà "Installed = False" thì nó sẽ tự động xóa tên addin đó khỏi danh sách addin hiện có của Excel.

Trân trọng cảm ơn mọi người.

Mong nhận được hồi đáp của anh chị.
Thân.
Bạn dùng code xóa luôn AddIn ấy ra khỏi đĩa cứng, lần khởi động sau sẽ không còn thấy tên nó trong AddIn box nữa đâu
Ví dụ thế này:
PHP:
On Error Resume Next
With Application.AddIns("Tên AddIn")
  .Installed = False
  CreateObject("Scripting.FileSystemObject").DeleteFile .FullName
End With
 
Bạn dùng code xóa luôn AddIn ấy ra khỏi đĩa cứng, lần khởi động sau sẽ không còn thấy tên nó trong AddIn box nữa đâu
Ví dụ thế này:
PHP:
On Error Resume Next
With Application.AddIns("Tên AddIn")
  .Installed = False
  CreateObject("Scripting.FileSystemObject").DeleteFile .FullName
End With
Cảm ơn anh NDU
Tuy nhiên, nếu như vậy mình cũng phải bắt buộc mở một file xla khác để lấy cái này đưa code vào delete file xla kia đúng không anh.
Trân trọng.
 
Cảm ơn anh NDU
Tuy nhiên, nếu như vậy mình cũng phải bắt buộc mở một file xla khác để lấy cái này đưa code vào delete file xla kia đúng không anh.
Trân trọng.
Mở file xla khác là sao? Muốn dùng code thì cứ mở 1 Wb mới, cho code vào và chạy thôi
 
Bạn dùng code xóa luôn AddIn ấy ra khỏi đĩa cứng, lần khởi động sau sẽ không còn thấy tên nó trong AddIn box nữa đâu
Ví dụ thế này:
PHP:
On Error Resume Next
With Application.AddIns("Tên AddIn")
  .Installed = False
  CreateObject("Scripting.FileSystemObject").DeleteFile .FullName
End With

Không được đâu thầy ndu96081631 khi thầy xóa file đó đi thì Tên AddIn đó vẫn có trong danh sách
 
Để xử lý trong code, bạn làm như sau
1. Tìm trên google ví dụ về tìm & xóa Key trong Registry
2. Excel lưu Add-ín trong Registry tại "HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Excel\Options". Bạn dùng code từ 1. tìm và xóa add-ín bạn muốn.
14.0 - Office 2010
12.0 - Office 2007
11.0 - Office 2003
10.0 - Office XP
....

Thưa thầy tuân nếu dùng VBA mà xóa key trong Registry thì khi thầy khởi động lại Excel File đó vẫn còn tên trong danh sách quản lý Add-Ins
chỉ có thể dùng VB6 để xóa key khi mà Excel không mở thôi vì khi Excel đang mở nó sẽ lưu những thiết lập về Addin ở đâu đó em không biết!
 
Thưa thầy tuân nếu dùng VBA mà xóa key trong Registry thì khi thầy khởi động lại Excel File đó vẫn còn tên trong danh sách quản lý Add-Ins
chỉ có thể dùng VB6 để xóa key khi mà Excel không mở thôi vì khi Excel đang mở nó sẽ lưu những thiết lập về Addin ở đâu đó em không biết!

Khi đóng Excel, nó sẽ lưu các add-in (thường lad đang bị bỏ tick) vào "HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\ Excel\Add-in Manager". Có lẽ phải dùng một chương trình ngoài để xóa Registry khi Excel đang đóng và phái xóa hai nơi.

HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\ Excel\Options
HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\ Excel\Add-in Manager
 
Khi đóng Excel, nó sẽ lưu các add-in (thường lad đang bị bỏ tick) vào "HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\ Excel\Add-in Manager". Có lẽ phải dùng một chương trình ngoài để xóa Registry khi Excel đang đóng và phái xóa hai nơi.

HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\ Excel\Options
HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\ Excel\Add-in Manager

Vâng đúng thưa thầy khi Addin bị bỏ tích nó sẽ lưu vào "HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\ Excel\Add-in Manager". Nhưng khi Excel đang mở nó sẽ lưu tất cả Addin trong danh sách kể cả có chọn hay không chọn vào một nơi nào đó
cho dù nếu thầy xóa bằng tay các Addin trong:
HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\ Excel\Options
và trong:
HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\ Excel\Add-in Manager

Khi thầy tắt và khởi động lại Excel thì chúng sẽ lại được tạo lại. Vì vậy chỉ có thể dùng một chương trình ngoài để xóa Registry khi Excel đang đóng và phái xóa hai nơi thì mới được hoặc em viết File này xóa luôn AddIn ấy ra khỏi đĩa cứng và cho hiện hộp thọai danh sách Addin và người dùng chọn vào tên Addin đã bị xóa Excel sẽ báo không tìm thấy và hiện hộp thọai cho chúng ta xóa tên trong danh sách:
 

File đính kèm

Lần chỉnh sửa cuối:
Vâng đúng thưa thầy khi Addin bị bỏ tích nó sẽ lưu vào "HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\ Excel\Add-in Manager". Nhưng khi Excel đang mở nó sẽ lưu tất cả Addin trong danh sách kể cả có chọn hay không chọn vào một nơi nào đó
cho dù nếu thầy xóa bằng tay các Addin trong:
HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\ Excel\Options
và trong:
HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\ Excel\Add-in Manager

Khi thầy tắt và khởi động lại Excel thì chúng sẽ lại được tạo lại. Vì vậy chỉ có thể dùng một chương trình ngoài để xóa Registry khi Excel đang đóng và phái xóa hai nơi thì mới được hoặc em viết File này xóa luôn AddIn ấy ra khỏi đĩa cứng và cho hiện hộp thọai danh sách Addin và người dùng chọn vào tên Addin đã bị xóa Excel sẽ báo không tìm thấy và hiện hộp thọai cho chúng ta xóa tên trong danh sách:

Đừng làm cách xóa file, không hay và không an toàn. Bạn hãy dùng cách xóa trong Registry đi. Xóa hai nơi "Add-in Manager" & "Options" là được. Bạn tham khảo code trên GOOGLE xóa entries trong Registry là được thôi. Đã học VBA thì cũng cần biết Copy + Paste và Edit code.
 
Thưa thầy trước đây em đã dùng cách xóa key trong Registry bằng cách dùng code từ 1. tìm và chọn đúng Addin cần xóa trong:
HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\ Excel\Options
HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\ Excel\Add-in Manage
khi đã xóa được key nhưng khi khởi động lại Excel thì Addin đó vẫn tồn tại trong danh sách! Em không hiểu? &&&%$R
 
Thưa thầy trước đây em đã dùng cách xóa key trong Registry bằng cách dùng code từ 1. tìm và chọn đúng Addin cần xóa trong:
HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\ Excel\Options
HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\ Excel\Add-in Manage
khi đã xóa được key nhưng khi khởi động lại Excel thì Addin đó vẫn tồn tại trong danh sách! Em không hiểu? &&&%$R

Bạn phải tạo chương trình bên VB6 hoặc ngôn ngữ khác, không phải chạy trong Excel. Làm đúng thứ tự như sau:

1. ExcelApp.Addins('YourAddin").Installed = False
2. Thoát Excel - ExcelApp.Quit.
3. Xóa các entries trong Registry liên quan
4. Mở lại Excel và kiểm tra nếu ExcelApp.Addins('YourAddin") is Nothing thì thông báo "Đã gỡ bỏ add-in thành công."
5. Thoát Excel - ExcelApp.Quit. Thoát chương trình.
 
Cảm ơn thầy cách của thầy rất đúng nhưng em nghĩ ý của chủ Toppic là muốn dùng VBA thao tác khi sử dụng trong Excel
vậy nên chỉ chuyển File tới một chỗ khác rồi dùng Excel để xóa danh sách và chuyển File đó lại chỗ cũ!
Cảm ơn thầy rất nhìu!!!!!!!!!!!!!!!!!%#^#$
 
Web KT

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

Back
Top Bottom