1
2
我想这就是你要照顾的。您需要一个集合,或者更一般地说,一个可以保存多个值的数据结构。从这里,您可以将值列表与当前激活的工作表进行比较。
|
2
0
这是非常快速和肮脏的方式。 mysheetname=“sheet1 sheet2 sheet_name_fred” ….只需列出所有工作表名称,其中有一个空格(或其他内容)。 然后换你的线路 如果application.activesheet.name=mysheetname,则 用 如果instr(mysheetname,sh.name)>0,则 如果愿意,请使用“application.activesheet.name”而不是“sh.name”。sh”是传递给该标准事件函数的参数,也是刚刚激活的工作表,因此如果将“application.activesheet.name”替换为“sh.name”,代码看起来会更干净一些。 如果第二个字符串出现在第一个字符串的任何位置(特别是字符位置号),则“instr”函数返回>0。因此,如果ActiveSheet名称出现在长的工作表名称字符串中的任何位置,它将接受密码测试。 这是“快速而肮脏的”,因为如果您的任何工作表名称是另一个工作表名称的子字符串,它将失败。例如,如果您有名为“总计”和“总计”的工作表,那么如果您将“总计”放在长字符串中,那么激活“总计”也将触发instr函数。 [代码删除] 我刚刚编辑了这个,通过检查工作表名称数组来删除“确定”执行此操作的代码。下面的其他建议是集合或其他数据结构。但有一个简单的方法来证明上述最简单的解决方案的失败。不允许在工作表名称中使用*(或其他几个字符)。所以需要名字的密码字符串可以是:
MySheetName = " 然后您的instr搜索名称只需要在工作表名称的两边加上星号:
IF INSTR(MySheetName, "
…你完了。不需要集合或其他复杂名称搜索。 |
jsc · Powershell创建密码过期报告 6 年前 |
Emp1 · 密码-登录不工作Python 6 年前 |
Anmol Dua · 使用django身份验证重置密码 7 年前 |
Norgul · Laravel密码代理外观 7 年前 |