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 ạ!
 
^^ 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
Web KT

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

Back
Top Bottom