Chỉnh sữa 1 giá trị trong registry (1 người xem)

Liên hệ QC

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

nhatkhong

Thành viên mới
Tham gia
7/10/17
Bài viết
10
Được thích
0
Chào các ace! E có 1 vấn đề là: muốn mỗi lần chạy file excel có chứa Macro thì Excel sẽ không hiện lên bảng cảnh báo Enable Macro nữa bằng cách chỉnh trong Option của Excel tùy chọn "Enable all macro" thì excel sẽ không hỏi nữa. Nhưng e muốn là khi chạy file excel lên nó sẽ tự chỉnh option này của excel thành Enable all macro để cho file excel chứa macro của e chạy luôn vì có những file excel không chạy macro hay người ta không chọn Enable Macro lên thì cũng như công cóc.
Cụ thể e có đoạn code sau:
Private Sub Workbook_Open()
If Date >= DateSerial(2018, 01,30) Then
MsgBox "Het han su dung"
Thisworkbook.Close False '<-----
End If
End Sub
'trước khi chạy đoạn code này e muốn bật tính năng "Enable all macro" trong excel bằng cách thêm vào registry từ khóa sau:(cái này e làm trên office 2010, còn những office 2007 hoặc 2013 thì các ace giúp e luôn nhé)
Registry Key to change:
[HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Excel\Security]
"VBAWarnings"=dword:00000001
Registry Option Values:
•1 = Enable all macros (not recommended; potentially dangerous code can run)
•2 = Disable all macros except digitally signed macros
•3 = Disable all macros with notification
•4 = Disable all macros without notification
để cho nó bật tính năng "Enable all macro" của Excel lên luôn khỏi phải hỏi người dùng kêu họ bật Enable security lên nữa.
Em xin cám ơn ạ!
 
Chào các ace! E có 1 vấn đề là: muốn mỗi lần chạy file excel có chứa Macro thì Excel sẽ không hiện lên bảng cảnh báo Enable Macro nữa bằng cách chỉnh trong Option của Excel tùy chọn "Enable all macro" thì excel sẽ không hỏi nữa. Nhưng e muốn là khi chạy file excel lên nó sẽ tự chỉnh option này của excel thành Enable all macro để cho file excel chứa macro của e chạy luôn vì có những file excel không chạy macro hay người ta không chọn Enable Macro lên thì cũng như công cóc.
Cụ thể e có đoạn code sau:
Private Sub Workbook_Open()
If Date >= DateSerial(2018, 01,30) Then
MsgBox "Het han su dung"
Thisworkbook.Close False '<-----
End If
End Sub
'trước khi chạy đoạn code này e muốn bật tính năng "Enable all macro" trong excel bằng cách thêm vào registry từ khóa sau:(cái này e làm trên office 2010, còn những office 2007 hoặc 2013 thì các ace giúp e luôn nhé)
Registry Key to change:
[HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Excel\Security]
"VBAWarnings"=dword:00000001
Registry Option Values:
•1 = Enable all macros (not recommended; potentially dangerous code can run)
•2 = Disable all macros except digitally signed macros
•3 = Disable all macros with notification
•4 = Disable all macros without notification
để cho nó bật tính năng "Enable all macro" của Excel lên luôn khỏi phải hỏi người dùng kêu họ bật Enable security lên nữa.
Em xin cám ơn ạ!
Không có chuyện vô lý vậy đâu! Bởi khi Excel đã thiết lập Disable Macro thì không có code nào chạy được ---> Suy ra là dù có viết code nào cũng vô nghĩa
Muốn code thì ít nhất code đó phải chạy trong môi trường khác Excel: VB6 chẳng hạn
 
Upvote 0
E có tìm và thử 1 đoạn code của a bạn bên http://vba-corner.livejournal.com/3054.html
nó ra iuput box để lấy giá trị e nhập cái key của e muốn và thay giá trị của cái key này thì cái tùy chọn trong excel sẽ bị thay đổi theo cái key e thay đổi trong Regitry luôn ạ. E cho cái sub vào trong này để test thì thấy nó đọc ghi giá trị ok hết ạ. Và tùy chọn Enable all Macro trong excel cũng thay đổi luôn ạ.
Private Sub Workbook_Open()
TestRegistry
End Sub
A xem qua thử có cải tiến gì giúp e cho nhu cầu của e không ạ.
 
Upvote 0
I
A xem qua thử có cải tiến gì giúp e cho nhu cầu của e không ạ.
Không cần test cũng biết là không được
Không bàn về chuyện code đúng hay sai. Vấn đề ở đây là: Một máy tính đang thiết lập Disable macro thì sẽ không có code nào chạy được cả.
Hình như bạn chưa thấy sự nghịch lý trong câu hỏi của mình thì phải?
 
Upvote 0
E có tìm và thử 1 đoạn code của a bạn bên http://vba-corner.livejournal.com/3054.html
nó ra iuput box để lấy giá trị e nhập cái key của e muốn và thay giá trị của cái key này thì cái tùy chọn trong excel sẽ bị thay đổi theo cái key e thay đổi trong Regitry luôn ạ. E cho cái sub vào trong này để test thì thấy nó đọc ghi giá trị ok hết ạ. Và tùy chọn Enable all Macro trong excel cũng thay đổi luôn ạ.
Private Sub Workbook_Open()
TestRegistry
End Sub
A xem qua thử có cải tiến gì giúp e cho nhu cầu của e không ạ.
Code đó dài cả mét .... code trên GPE ngắn gọn hay hơn chịu khó tìm là thấy :D
 
Upvote 0
Lần chỉnh sửa cuối:
Upvote 0
Chào các ace! E có 1 vấn đề là: muốn mỗi lần chạy file excel có chứa Macro thì Excel sẽ không hiện lên bảng cảnh báo Enable Macro nữa bằng cách chỉnh trong Option của Excel tùy chọn "Enable all macro" thì excel sẽ không hỏi nữa. Nhưng e muốn là khi chạy file excel lên nó sẽ tự chỉnh option này của excel thành Enable all macro để cho file excel chứa macro của e chạy luôn vì có những file excel không chạy macro hay người ta không chọn Enable Macro lên thì cũng như công cóc.
Cụ thể e có đoạn code sau:
[code ra sao khong quan trọng]

để cho nó bật tính năng "Enable all macro" của Excel lên luôn khỏi phải hỏi người dùng kêu họ bật Enable security lên nữa.
Em xin cám ơn ạ!

Cái phần tôi tô xanh là bức rào an toàn mà Microsoft đặt ra để chống phá phách. Nó không hữu hiệu 100% nhưng có cũng còn hơn không.

Cái bạn muốn, diễn nôm na ra là khả năng tự động vượt bức rào an toàn của Office.
Chẳng những vậy, phương pháp của bạn không chỉ tạo cơ hội cho riêng file của bạn mà còn mở của luôn cho các files của ngừoi khác.

Theo định nghĩa, cách làm của bạn có thể coi như thả vi rút phá máy ngừoi ta.

Tôi không nói cách này có khả thi. Tôi chỉ nói về hậu quả của nó.
 
Upvote 0
trong thiết lập về macro trong excel có 4 tùy chọn :
•1 = Enable all macros (not recommended; potentially dangerous code can run)
•2 = Disable all macros except digitally signed macros
•3 = Disable all macros with notification
•4 = Disable all macros without notification
Nếu như thiết lập ở tùy chọn số 4=Disable all macros without notification thì sẽ không có code nào chạy được hết nhưng nếu để ở thiết lập mặc định của excel là 3 = Disable all macros with notification thì e thấy nó vẫn chạy cái code như e nói ở trên bình thường ạ. E đã test thử
I

Không cần test cũng biết là không được
Không bàn về chuyện code đúng hay sai. Vấn đề ở đây là: Một máy tính đang thiết lập Disable macro thì sẽ không có code nào chạy được cả.
Hình như bạn chưa thấy sự nghịch lý trong câu hỏi của mình thì phải?
A nói đúng với trường hợp excel đang để ở tùy chọn là "Disable all macros without notification" thì sẽ không có code nào chạy được hết. Nhưng nếu đang ở tùy chọn "Disable all macros with notification" thì e để cái sub "TestRegistry()" trong work book.Open thì nó vẫn chạy bình thường ạ. Cám ơn a đã chia sẽ.
 
Upvote 0
Cái phần tôi tô xanh là bức rào an toàn mà Microsoft đặt ra để chống phá phách. Nó không hữu hiệu 100% nhưng có cũng còn hơn không.

Cái bạn muốn, diễn nôm na ra là khả năng tự động vượt bức rào an toàn của Office.
Chẳng những vậy, phương pháp của bạn không chỉ tạo cơ hội cho riêng file của bạn mà còn mở của luôn cho các files của ngừoi khác.

Theo định nghĩa, cách làm của bạn có thể coi như thả vi rút phá máy ngừoi ta.

Tôi không nói cách này có khả thi. Tôi chỉ nói về hậu quả của nó.
kaka bạn VietMini nói đúng cái này rất nguy hiểm và office có nói rõ trong tùy chọn của nó luôn là không khuyến cáo chọn tùy chọn "enable all macro" vì như vậy máy dễ bị dính virus và mã độc. Nhưng mình muốn test thử để xem có cách nào vượt rào của office bằng code vba trong excel hay không? nếu bạn biết chia sẽ cho mình với cám ơn nhiều nha!
 
Upvote 0
Upvote 0
Vào các diễn đàn chuyên về Windows hack, hay chuyên về vi rút mà hỏi.
 
Upvote 0
Cơ chế bảo mật của MS không đơn giản chỉ bạn click chuột vào cái disable hay enable đó là xong. Nên để click vào file excel chạy được trên các máy là hầu như không thể. Còn nếu chạy được bat, reg, exe, vbs, macro thì vụ vượt UAC, Admin Pass là có thể.

Nếu bạn muốn phá thì bỏ với excel, cách phá thiếu gì thứ phải dùng excel. Còn nếu tìm hiểu về bảo mật của office thì có thể tham khảo:
https://www.asd.gov.au/publications/protect/Hardening_MS_Office_2016.pdf
https://labs.mwrinfosecurity.com/as...FT-OFFICE-2013-PROTECTED-VIEW-SANDBOX-WP3.pdf
 
Lần chỉnh sửa cuối:
Upvote 0
A nói đúng với trường hợp excel đang để ở tùy chọn là "Disable all macros without notification" thì sẽ không có code nào chạy được hết. Nhưng nếu đang ở tùy chọn "Disable all macros with notification" thì e để cái sub "TestRegistry()" trong work book.Open thì nó vẫn chạy bình thường ạ. Cám ơn a đã chia sẽ.
Chỉ chạy bình thường được nếu người dùng có bấm nút "Enable Contents" trong lần đầu tiên, đúng không?
Vậy thay vì bấm, họ cứ vào Excel Opions mà chỉnh luôn cho rồi chứ chạy code làm gì?
Nói tóm lại: Đàng nào cũng phải có tác động bằng tay trong lần đầu tiên. Mà đã tác động bằng tay rồi thì code hoàn toàn không có ý nghĩa gì cả cho những lần sau đó
 
Upvote 0
Nó có 1 vài trường hợp xảy ra như vầy mạnh nêu ra để ta nghiên cứu nè:
1/ khi người ta cài Từ Windows7 To 10 thì mặc định tài khoản Administrator được ẩn đi không bật lên trừ phi người sử dụng biết và bật nó lên

còn tài khoản ban đầu mình sử dụng đó không phải là tài khoản Admin xịn vậy nên khi UAC kéo lên thì ta chạy Run as thì có thông báo yes Or No hình bài #7
nếu ta xử lý = code cho nó chọn Yes ok thì vấn đề xử lý trong Registry cực đơn giản

2/ khi người dùng bật tài khoản Administrator mà Set cho nó 1 cái Pass nữa lại thêm công đoạn nhập pass khi ta chạy code trên tài khoản khác dưới quyền Admin

3/ để xử lý câu 1 & 2 ta có thể sử dùng hàm API Or không dùng hàm API
VD Hàm API: RunAsUser ....... để chạy với quyền cao nhất của máy thì ta mới ghi thông tin vào khóa HKEY_LOCAL_MACHINE trong Registry được sau khi dã ghi vào Ok thì vấn đề còn lại ta muốn mằm chi thì mằm

4/ vấn đề là viết 1 cái hàm RunAsUser làm sao nó bao quát nhất khi bạn chạy code đang ở user nào và trên máy đó User Admin đang ẩn mặc định hay đã bật và có pass để ta có thể xử lý được hết những phát sinh đó vvv...

vấn đề thớt này có liên quan tới thớt sau

http://www.giaiphapexcel.com/diendan/threads/tự-động-chèn-code-vào-sheet-của-1-file-excel.80149/page-4

Các Bạn có thể tham khảo bài #12 link sau để xử lý câu 1 & 2

http://www.giaiphapexcel.com/diendan/threads/chạy-runas-ứng-dụng-trong-vba.90007/
 
Lần chỉnh sửa cuối:
Upvote 0
Chỉ chạy bình thường được nếu người dùng có bấm nút "Enable Contents" trong lần đầu tiên, đúng không?
Vậy thay vì bấm, họ cứ vào Excel Opions mà chỉnh luôn cho rồi chứ chạy code làm gì?
Nói tóm lại: Đàng nào cũng phải có tác động bằng tay trong lần đầu tiên. Mà đã tác động bằng tay rồi thì code hoàn toàn không có ý nghĩa gì cả cho những lần sau đó
E có làm thử 1 file chỉnh sữa lại code của nó và thêm vô phần kiểm tra version của excel là bao nhiều để tạo khóa Registry cho đúng luôn ạ. A chạy thử test giúp e xem nhé. E test thử 2 máy excel 2010 và 2016 đều chạy mà không cần phải bấm gì hết và excel sẽ được set lại thành tùy chọn "Enable all macro" mà không phải hỏi gì hết ạ. Cám ơn a đã chia sẽ!
 

File đính kèm

Upvote 0
Cơ chế bảo mật của MS không đơn giản chỉ bạn click chuột vào cái disable hay enable đó là xong. Nên để click vào file excel chạy được trên các máy là hầu như không thể. Còn nếu chạy được bat, reg, exe, vbs, macro thì vụ vượt UAC, Admin Pass là có thể.

Nếu bạn muốn phá thì bỏ với excel, cách phá thiếu gì thứ phải dùng excel. Còn nếu tìm hiểu về bảo mật của office thì có thể tham khảo:
https://www.asd.gov.au/publications/protect/Hardening_MS_Office_2016.pdf
https://labs.mwrinfosecurity.com/as...FT-OFFICE-2013-PROTECTED-VIEW-SANDBOX-WP3.pdf
Cám ơn bạn đã chia sẽ, cái này e chỉ thay đổi trong registry để thay đổi 1 tùy chọn trong excel thôi đó là tùy chọn "Enable all Macro" thôi ạ. Bên dưới e có đính kèm file e làm thử đó. Với điều kiện là tùy chọn macro trong excel đang được thiết lập mặc định ( Disable all macros with notification) thì nó sẽ chạy bình thường và set thành "Enable all macro" lên luôn ạ nên macro mình sẽ chạy bình thường mà không cần người dùng phải nhất enable security hay gì hết ạ.
 
Upvote 0
Bạn up lên mạng xong down về chạy lại thử xem.
 
Upvote 0
E có làm thử 1 file chỉnh sữa lại code của nó và thêm vô phần kiểm tra version của excel là bao nhiều để tạo khóa Registry cho đúng luôn ạ. A chạy thử test giúp e xem nhé. E test thử 2 máy excel 2010 và 2016 đều chạy mà không cần phải bấm gì hết và excel sẽ được set lại thành tùy chọn "Enable all macro" mà không phải hỏi gì hết ạ. Cám ơn a đã chia sẽ!
Máy tôi mở lên nó thế này:

Capture.JPG

Và không có gì chạy cả
 
Upvote 0
^^ Em biết vụ này cách đây không lâu. Khi em quan sát thay đổi của regedit thấy nó phức tạp quá nên bỏ ý định phá luôn
Vấn đề không phải nằm ở chỗ "phức tạp trong registry" mà nằm ở chỗ NGHỊCH LÝ CỦA YÊU CẦU. Chẳng khác nào đứa con muốn sinh ra cha vậy!
Nói chung thì: Yêu cầu viết code để tự động Enable Macro trong Excel là một yêu cầu vô lý và không thể thực hiện được nếu làm trong excel
Chỉ vậy thôi
 
Upvote 0
Vấn đề không phải nằm ở chỗ "phức tạp trong registry" mà nằm ở chỗ NGHỊCH LÝ CỦA YÊU CẦU. Chẳng khác nào đứa con muốn sinh ra cha vậy!
Nói chung thì: Yêu cầu viết code để tự động Enable Macro trong Excel là một yêu cầu vô lý và không thể thực hiện được nếu làm trong excel
Chỉ vậy thôi
Cái này mod nói đúng rồi có lẽ do e đã yêu cầu nghịch lý. Cái này hình như phải bấm vào enable security thì mấy lần sau nói mới không hỏi nữa. Vậy có cách nào hay giải pháp này để làm việc này không anh? (tự động Enable Macro trong Excel) khi mình chạy file excel mình muốn lên. chẳng hạn cho chạy 1 đoạn script hay gì đại loại như vậy rồi sau đó mới chạy macro trong excel lên.
Cám ơn anh đã chia sẽ.
 
Upvote 0
Vậy có cách nào hay giải pháp này để làm việc này không anh? (tự động Enable Macro trong Excel) khi mình chạy file excel mình muốn lên. chẳng hạn cho chạy 1 đoạn script hay gì đại loại như vậy rồi sau đó mới chạy macro trong excel lên.
Bạn không hiểu tiếng Việt à? Nói đi nói lại mà không hiểu à?
Nếu bạn muốn thì trước khi mở tập tin của bạn thì phải chạy cái script kia để nó "mở"macro. Nhưng phải có ai đó, cái gì đó kích hoạt script kia. Bạn không thể dùng code trong tập tin của mình để kích hoạt script kia khi mà người ta có "Disable all macros without notification". Vì khi đó macro có chạy đâu để mà kích với hoạt?
Vậy chỉ còn cách: Soạn 1 script và đính kèm với tập tin của mình. Và người dùng phải biết là trước khi mở tập tin của bạn thì phải kích hoạt script.
Thậm chí nếu người dùng muốn kích hoạt script để rồi sau đó code của bạn cấm người ta dùng tập tin của bạn thì vẫn có thể làm cách khác. Đó là thay vì yêu cầu người ta kích hoạt script thì yêu cầu người ta "bật" macro. Thế thôi. Nói tiếng Việt mà không hiểu sao?
 
Upvote 0
Đã bảo là vào mấy cái diễn đàn chuyên về hack mà hỏi họ.

Thực ra, nếu chủ thớt giữ ý định như đầu bài (bài #1) thì tôi còn thử giải. Nhưng theo ý về sau (bài #10) thì thớt chỉ muón thử nghiệm cách phá vòng rào security bằng VBA nên tôi không còn hứng. Hôm nay phá được nhưng ngày mai MS ra một cái service pack lấp đi "thì cũng như công cóc" [sic].
 
Upvote 0
Bạn không hiểu tiếng Việt à? Nói đi nói lại mà không hiểu à?
Nếu bạn muốn thì trước khi mở tập tin của bạn thì phải chạy cái script kia để nó "mở"macro. Nhưng phải có ai đó, cái gì đó kích hoạt script kia. Bạn không thể dùng code trong tập tin của mình để kích hoạt script kia khi mà người ta có "Disable all macros without notification". Vì khi đó macro có chạy đâu để mà kích với hoạt?
Vậy chỉ còn cách: Soạn 1 script và đính kèm với tập tin của mình. Và người dùng phải biết là trước khi mở tập tin của bạn thì phải kích hoạt script.
Thậm chí nếu người dùng muốn kích hoạt script để rồi sau đó code của bạn cấm người ta dùng tập tin của bạn thì vẫn có thể làm cách khác. Đó là thay vì yêu cầu người ta kích hoạt script thì yêu cầu người ta "bật" macro. Thế thôi. Nói tiếng Việt mà không hiểu sao?
Cám ơn anh đã chia sẽ nhưng không cần phải trả lời hằn học và khó chịu như vậy đâu anh ơi! Không biết anh giỏi tới mức nào nhưng kiến thức là vô hạn nên có thể những gì em và anh không làm được thì không chắc người khác không làm được đâu ạ. Về một mảng lập trình nào đó anh có thể hơn người khác nhưng về một mảng khác không chắc anh đã giỏi và kiến thức của anh hơn người khác đâu ạ nên khi mình biết thì cứ chia sẽ cho nhiều người khác thôi. Cám ơn anh và mọi người đã chia sẽ. Close topic này lại thôi. Cám ơn ace rất nhiều về những chia sẽ của mình. Cám ơn ạ!
 
Upvote 0
Về một mảng lập trình nào đó anh có thể hơn người khác nhưng về một mảng khác không chắc anh đã giỏi và kiến thức của anh hơn người khác đâu
Cái này bạn nói đúng. Nhưng nếu tôi không biết và hỏi, mà người ta đã nhắc đi nhắc lại là "không được" thì tôi sẽ hiểu là không được. Ăn nhau ở chỗ đó.
Tôi có bàn về kiến thức đâu? Tôi trách là nói mà không hiểu tiếng Việt chứ tôi có trách về kiến thức đâu? Bạn có thể chỉ ra chỗ tôi trách bạn là không biết lập trình không? Tôi trách là người ta nói đi nói lại bằng tiếng Việt mà vẫn không hiểu người ta nói gì. Cái này cũng không hiểu nốt?
Mà thôi không hiểu thì bó tay. Tôi không giải thích miễn phí nữa.
 
Upvote 0
Cám ơn anh đã chia sẽ nhưng không cần phải trả lời hằn học và khó chịu như vậy đâu anh ơi! Không biết anh giỏi tới mức nào nhưng kiến thức là vô hạn nên có thể những gì em và anh không làm được thì không chắc người khác không làm được đâu ạ. Về một mảng lập trình nào đó anh có thể hơn người khác nhưng về một mảng khác không chắc anh đã giỏi và kiến thức của anh hơn người khác đâu ạ nên khi mình biết thì cứ chia sẽ cho nhiều người khác thôi. Cám ơn anh và mọi người đã chia sẽ. Close topic này lại thôi. Cám ơn ace rất nhiều về những chia sẽ của mình. Cám ơn ạ!
Bạn nhatkhong ơi,
Mình đồng ý với bạn là lời chia sẻ của bác batman1 hơi vụng, không ngọt ngào chứ mình không nghĩ là hằn học. Có 1 thành viên trên diễn đàn GPE mà mình rất ngưỡng mộ từng dạy mình rằng "Mật ngọt thì ruồi chết tươi, những nơi cay đắng là nơi thật thà" hay "Thương cho roi cho vọt, ghét cho ngọt cho bùi" khi người ấy tưởng là mình đã quên tinh thần người Việt Nam vì cứ đinh ninh là mình đã bị tinh thần trời Tây ảnh hưởng rồi. :(:(:( (Thiệt là... chả biết nói sao, thì ra là hình ảnh của mình trong mắt người ấy quá là tồi tệ!!! :(:(:(:(:(:()
Hôm nay mình mượn lời của thành viên ấy để chia sẻ lại với bạn vậy. Thật ra mình thấy là bác batman1 chỉ muốn hướng dẫn cho bạn điểm mà bạn cứ mãi lấn cấn đấy thôi, bạn nghĩ thoáng 1 chút thì sẽ thấy là bác batman1 là có ý tốt mà chứ có phải là chê bai hay xỏ xiên gì đâu.
Vài lời chia sẻ thật tâm đến bạn, hy vọng bạn đừng hiểu lầm mình hen vì mình chỉ muốn bạn & bác batman1 hiểu nhau hơn mà thôi, đừng vì những chuyện cỏn con chẳng đáng có mà mất đi tình giao hảo & mất đi 1 người giúp đỡ trên GPE, chả đáng bạn nhỉ!!! ;););)

Hãy luôn tâm niệm rằng Mật ngọt thì ruồi chết tươi, những nơi cay đắng là nơi thật thà thì bạn sẽ thấy mọi chuyện thoải mái, cởi mở... hơn rất là nhiều, bạn nhé!!! :):):)
Chúc bạn học tập vui với đại gia đình GPE.
 
Upvote 0
Tôi trách là người ta nói đi nói lại bằng tiếng Việt mà vẫn không hiểu người ta nói gì. Cái này cũng không hiểu nốt?
Tôi không đồng tình chổ này. Một giáo sư nói chuyện với một bác nông dân mà dùng những từ chuyên môn thì bác nông dân làm sao hiểu, một ví dụ nửa là nếu bạn nói chuyện với một em mẫu giáo mà bạn giải thích theo kiểu toán nhân thì thua thật. Nói tóm lại có khi không cùng đẳng cấp thì khó có tiếng nói chung,.
 
Upvote 0
Một giáo sư nói chuyện với một bác nông dân mà dùng những từ chuyên môn thì bác nông dân làm sao hiểu, một ví dụ nửa là nếu bạn nói chuyện với một em mẫu giáo mà bạn giải thích theo kiểu toán nhân thì thua thật.
Nói có sách, mách có chứng. Kiểu nói suông thì tranh luận tới ra ngoài Tết.
Bạn cho những gì trong đoạn trích sau là từ "chuyên môn", là từ mà anh "nông dân" kia không thể hiểu?
Còn ví dụ thứ 2 thì không nên đưa ra. Nó khập khiễng thế nào ấy. Tôi không thấy ai trong chủ đề này nói theo kiểu toán nhân với em bé mẫu giáo.

Đừng bịa ra tình huống. Hãy chỉ ra những gì là từ "chuyên môn" chỉ các giáo sư mới hiểu.
Không có chuyện vô lý vậy đâu! Bởi khi Excel đã thiết lập Disable Macro thì không có code nào chạy được ---> Suy ra là dù có viết code nào cũng vô nghĩa.

Vấn đề ở đây là: Một máy tính đang thiết lập Disable macro thì sẽ không có code nào chạy được cả.
Hình như bạn chưa thấy sự nghịch lý trong câu hỏi của mình thì phải?

Chỉ chạy bình thường được nếu người dùng có bấm nút "Enable Contents" trong lần đầu tiên, đúng không?
Vậy thay vì bấm, họ cứ vào Excel Opions mà chỉnh luôn cho rồi chứ chạy code làm gì?
Nói tóm lại: Đàng nào cũng phải có tác động bằng tay trong lần đầu tiên. Mà đã tác động bằng tay rồi thì code hoàn toàn không có ý nghĩa gì cả cho những lần sau đó
...

Người ta nói đơn giản là code không chạy khi user không "bật" macro. Có gì chuyên môn ở đây?

Người ta cũng nói là có thể bật marco bằng cách chạy code ngoài, script ngoài. Nhưng code ngoài, script ngoài thì cũng phải có cái gì đó, ai đó kích hoạt, vì đơn giản nó không tự chạy được.

Mà nếu đằng nào anh user cũng phải vất vả tự kích hoạt thì dặn anh ta "bật" macro, khỏi kích hoạt script gì gì cho mệt. Dĩ nhiên phải dặn anh ta: "Code của tôi kiểm tra hạn sử dụng đã qua chưa. Nếu qua rồi thì thì thoát, và anh không thể sử dụng nữa. Nhưng để chạy code để có thể cấm anh sử dụng khi quá hạn thì rất mong anh bật macro lên trước khi chạy phần mềm của tôi nhé. Cám ơn anh"

Nếu bạn không đưa ra được cái từ chuyên môn mà anh nông dân kia không hiểu thì đừng viết nữa. Tôi không muốn tranh luận theo kiểu như thế.
 
Upvote 0
Code của bạn thớt này có dài không, nếu không quá phức tạp thì tớ chỉ cho một cách. Không cần phải can thiệp vào registry mà cũng không sợ virut gì hết.
 
Upvote 0

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

Back
Top Bottom