excel - 如何在 Excel VBA 中显示警报消息?
问题描述
我有一个 excel (保存为 Excel 启用宏的工作簿)文件,如下所示:
现在,我创建了这个函数,当他打开文件时通知他。
Private Sub Workbook_Open()
Dim i As Long, lastRow As Long
lastRow = Sheet1.Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To lastRow
If DateDiff("d", Cells(i, 4), Date) <= 90 Then
MsgBox (Cells(i, 2) + " is expiring!")
End If
Next
End Sub
该过程设置为Open并且对象设置为Workbook,我现在的问题是它不显示警报消息,除非我执行此操作:打开 Visual Basic 开发人员选项卡 -> 重新打开文件 -> 并收到此警告消息:Warning: It is not possible to determine that this content came from a trustworthy source. You should leave this content disabled unless the content provides critical functionality and you trust its source
然后单击启用宏。
我正在使用 excel-2007
任何帮助深表感谢。
解决方案
这是一项安全功能。用户必须先启用宏,然后才能运行任何代码。您无法在代码中执行任何操作来防止这种情况发生。
如果文件始终在同一个文件夹中,您可以将该文件夹添加为受信任的位置,这样警告就不会出现:
- 选择文件 > 选项。
- 单击信任中心,然后单击信任中心设置...
- 单击受信任的位置。
- 如果[包含文件的文件夹]未列为受信任位置,请单击“添加新位置...”。输入路径[...]或单击浏览... 找到并选择它。
- 单击确定。
推荐阅读
- node.js - 我对 API 很陌生。请发给我 -H 是什么意思?
- arrays - 范围集合
- ios - 取消 StoreKit“您的购买成功”警报
- python-3.x - 如何制作昵称 更改历史命令 | 不和谐.py
- spring - Spring AOP @Around 访问@annotation 的值
- android - 如何删除sqlite数据库中的回收站视图项
- c# - 在 Visual Studio Code 中运行 Selenium NUnit C#
- angularjs - ng-show/ng-hide 和 ng-switch 元素同时显示
- mongodb - 替换 mongoDB 数据中的特殊字符
- ruby-on-rails - 循环内的 select_tag。Ruby on Rails