上周我也遇到了ID和Name的问题,在页面里输入了一个input type="hidden",只写了一个ID='SliceInfo',赋值后submit,在后台用Request.Params["SliceInfo...第一段里对于ID和Name的解答说的太笼统了,当然那个解释对于ID来说是完全对的,它就是Client端HTML元素的Identity。...显然这些用途都不是能简单的使用ID来代替掉的,所以HTML元素的ID和Name的却别并不是身份证号码和姓名这样的区别,它们更本就是不同作用的东西。 ...这里再顺便说一下,要是页面中有n(n>1)个HTML元素的ID都相同了怎么办?在DHTML对象中怎么引用他们呢?...这个时候我们还是可以继续使用document.getElementById获取对象,只不过我们只能获取ID重复的那些对象中在HTML Render时第一个出现的对象。
1 此错误的原因和解决方案 此错误的原因: 当受保护(隐藏)的模块内的 VBA 代码中存在编译错误时会引发此错误。由于模块是受保护状态,因此不会公开具体的编译错误。...(2)如果没有访问文档中 VBA 代码的权限,请与文档作者联系,让作者更新隐藏模块中的代码。...3 VBA工程密码破解 当受保护(隐藏)的模块内的 VBA 代码中存在编译错误时,由于模块是受保护状态,因此不会公开具体的编译错误。此时,需要取消对该模块的保护。...OriginProtect As Long Hook = False 'VBE6.dll调用DialogBoxParamA显示VB6INTL.dll资源中的第4070号对话框(就是输入密码的窗口.../p/6958631.html) [3] vba工程密码清除(https://www.cnblogs.com/Summer6/p/11245383.html)
用各种快捷键组合或者将表格转置可以进行筛选,但是比较麻烦,在表格格式比较复杂的情况下,这种麻烦更为突出。我简要写了个VBA工具可以快速实现这种筛选。...使用过程演示如下: 以筛选身高为168的所有人员为例 以筛选所有张姓人员为例 只需要点击上方按钮,输入两个参数,即可快速实现筛选(其实原理是隐藏不需要的内容) 下面说明安装方式: 1.下载该加载宏文件
/utils/alternate_data_streams.html。...PDF文件分析 PDF是一个非常复杂的文档文件格式, PDF格式是部分纯文本,如HTML,但内容中包含许多二进制对象。...有时,对办公文件分析的挑战不是找到隐藏的静态数据,而是分析一个VBA宏来确定其行为。 上述解析器工具可以指示宏是否存在,并可能为你提取数据。...但恶意的VBA宏不会很复杂,因为VBA通常只是作为一个跳出平台来引导代码执行。 如果宏被模糊化并且具有解压缩程序,则不需要拥有Office许可证来进行调试。.../standard.module1.mymacro 转载于:https://www.cnblogs.com/ichunqiu/p/10619576.html
宏免杀 Evil Clippy https://github.com/outflanknl/EvilClippy/releases windwos安装: 在Visual Studio开发者命令行窗口中输入下列命令...没做任何处理之前,VT查杀 39/61 从GUI隐藏/取消隐藏宏VT查杀 37/60 在VBA GUI编辑器中隐藏所有宏模块(默认的“ ThisDocument”模块除外)。...EvilClippy.exe -gg macrofile.doc Stomp VBA(滥用P代码)VT 查杀 12/60 效果很好,过火绒 将来自文本文件fakecode.vba的虚假VBA代码放在所有模块中...请注意,VBA项目版本必须与主机程序匹配才能执行P代码 EvilClippy.exe -s 1.vba macrofile.doc 参数说明:-s 参数是通过假的 vba 代码插入到模块中,用以混淆杀毒程序...输入 DDEAUTO"C:\\windows\\system32\\WindowsPowerShell\\v1.0\\powershell.exe -NoP -sta -NonI -W Hidden IEX
今天给大家介绍的是一款名叫EvilClippy的开源工具,EvilClippy是一款专用于创建恶意MS Office测试文档的跨平台安全工具,它可以隐藏VBA宏和VBA代码,并且可以对宏代码进行混淆处理以增加宏分析工具的分析难度...功能介绍 1、 在GUI编辑器中隐藏VBA宏; 2、 混淆安全分析工具; 3、 VBA Stomping; 4、 引入VBA P-Code伪编码; 5、 设置远程VBA项目锁定保护机制; 6、 通过HTTP...EvilClippy.exe *.cs 然后运行EvilClippy: mono EvilClippy.exe –h Windows 确保安装了Visual Studio,然后在Visual Studio开发者命令行窗口中输入下列命令...out:EvilClippy.exe *.cs 然后在命令行中运行EvilClippy: EvilClippy.exe –h 工具使用 显示帮助信息 EvilClippy.exe –h 在GUI中隐藏宏...EvilClippy.exe -g macrofile.doc VBA Stomp(P-Code伪编码) EvilClippy.exe -s fakecode.vba macrofile.doc
这个可以通过VBA代码编辑器里的属性窗口,设置工作表的Visible属性为xlSheetVeryHidden来实现,当然使用VBA来设置肯定就更为方便快捷了: ?...首先在customUI.xml中增加代码: id="rbmenuShtHide" label="工作表隐藏 " size="large" imageMso="WindowSplit..."> id="rbbtnVeryHideActiveSht" label="深度隐藏当前工作表" onAction="rbbtnVeryHideActiveSht"/>...id="rbbtnVeryHideExceptActiveSht" label="深度隐藏当前工作表之外工作表" onAction="rbbtnVeryHideExceptActiveSht..."/> id="rbSepShtHidet01" title="================="/> id="rbbtnUnHideAllSht
对Office文件读取和写入custom.xml,就是读取和写入ZIP文件,读取ZIP文件并解压缩可以查看前面文章VBA解压缩ZIP。...& _ "" & _ "" & _ " id...=""TabID"" label=""tabName"" insertAfterMso=""TabDeveloper"">" & _ " id...=""GroupID"" label=""GroupName"">" & _ " id=""Button1"" label=""buttonname...Else Exit Sub End If Else '将读取到customUI.xml Byte数组,编码UTF8转换为
具体操作1、VBA数组的定义方法下面是几种数组常用的定义方法,一维数组的定义、二维数组的定义直接赋值定义、调用Array函数定义、调用Excel工作表内存数组''''''''''''直接定义给数组赋值'...、数组维度的转换(Transpose)'数组维数的转换 '一维转二维Sub arr_tranpose1()arr = Array(10, "vba", 2, "b", 3)arr1 = Application.Transpose...(arr)MsgBox arr1(2, 1) '转换后的数组是1列多行的二维数组End Sub '二维数组转一维 '注意:在转置时只有1列N行的数组才能直接转置成一维数组Sub arr_tranpose2...Application.Transpose(arr1), "-")End Sub6、利用数组获取所有工作表名称的自定义函数'利用数组获取所有工作表名称的自定义函数Function getSheetsname(id...Sheets.CountReDim arr(1 To k)For i = 1 To k arr(i) = Sheets(i).NameNextgetSheetsname = Application.Index(arr, id
学习资料很匮乏,一开始想着VBA转VB.net,语法是同一母系,门槛不高,但入门后发现很难再有更多的资料介绍了,C#语言倒还好些,视频、书籍都比较丰富,但需要给自己一个决心,狠狠啃上个把月,才能入门成功...excel-dna.net/ 国内资源: 博客园Excel专业开发之自定义函数:http://www.cnblogs.com/yangecnu/p/Excel-User-Define-Function-Introduce.html...ExcelHome学导帖:http://club.excelhome.net/thread-951893-1-1.html 我在ExcelHome发的帖http://club.excelhome.net...可以对自定义函数进行用户输入提示功能,效果和原生的工作表函数的提示功能接近,这是VSTO和VBA开发所没法做到的。 1.7....可以利用作者实现的异步功能,开发数组函数可以不需用户Ctrl+Shift+Enter麻烦输入,直接像普通函数一样输入,但最终可以返回多个值,同时在运算效率和性能得到显著提升。 1.8.
最可能接触到的就是一个名称叫做Thumbs.db的文件,只要操作电脑,打开了图片,系统就会在图片的同一个文件夹下生成这样一个文件,但默认是隐藏的,所以一般也看不到!...2007版本以上的Office文件,如果编写了VBA代码,在文件的压缩包里,会有个vbaProject.bin文件,也是使用复合文档结构来存储的。...02 直接读取Excel VBA数据 如果想不打开Excel文件来读取Excel的数据,一般使用ADO技术就能做到。...但是如果想要直接获取VBA代码,就只能通过解析文件结构获取,通过解析复合文档,解析出模块的数据流,再进一步进行解析就可以。...03 实现一些特殊功能 VBA工程密码破解 VBA模块隐藏 主要参考文章: http://club.excelhome.net/thread-227502-1-1.html
2.VBA程序如何修改双击间隔? 不能。双击间隔是Windows操作系统设置。 3.是非题:KeyDown事件过程可以使用KeyCode参数判断用户输入的是4还是$。 错误。...6.假设一个控件被重叠控件隐藏。在运行时,如何使隐藏的控件可见? 调用具有fmTop参数的隐藏控件的ZOrder方法。 7.如何防止用户通过制表键将焦点移到控件上?...数据验证是确保用户不会输入无效数据的过程,例如在输入数字时应输入文本。 13.你应该在何处放置工作簿级别事件的事件过程? 在ThisWorkbook模块中。...16.是非题:保护工作簿的密码可防止用户查看你的VBA代码。 错误。必须使用“项目工程属性”对话框中的“保护”选项卡,将VBA工程与设置给工作簿的任何密码分开锁定。...25.自定义VBA类的代码放在哪里? 在一个类模块中。 26.是非题:自定义VBA类可以包含可视化界面。 错。自定义VBA类不能包含视觉化元素。 27.如何创建只读属性?
VBA的GetAttr函数将返回文件的基本属性。注意,由于它是一个函数,因此输出一个值;它不是文件对象的属性,不能写入GetAttr来更改文件的属性。同样,也不能使用此函数将文件设为只读或隐藏文件。...对于你的特定输入,无论哪个属性为真,都将出现在该函数的输出中。 最简单的情况是文件只满足一个属性。...假设文件myFile是隐藏的,且是该文件唯一的一个属性,从上表中可知,语句GetAttr(myFile)将返回2。 更复杂一点的是隐藏的系统文件。...只读输入的可能值是1、3、5、35等。但是,测试每一个都会很麻烦。为了使之更容易,我们可以依靠二进制按位运算的优点。...如果总和的可能输入不是2的幂,则此技巧不起作用。 小结 VBA的GetAttr函数使用求和技术提供有关文件属性的信息,该技术为每个属性组合提供唯一编号。
一个工作薄有多个相同类型的工作表,然后想通过批量操作,把每个工作表都另存为一个工作薄文件,这个批量拆分工作薄,绝大多数插件都有此功能,就如懂点VBA的高级用户也常常有点不屑于用插件来完成,自己写向行VBA...情形3实现 情形4实现,不需导出新工作薄的,直接留空或使用自动筛选过滤隐藏。 ? 情形4实现,留空 ? 情形4实现,自动筛选隐藏 情形5实现,固定新工作薄都要输出,输入999即可。 ?...情形5实现,输入999 情形6实现,不同文件类型,甚至可单独设定不一样。 ? 情形6实现,不同文件类型 拆分工作薄 点击第2步的【拆分工作薄】即可完成。 ? ?...快速批量插入图片 第12波-快速生成、读取、导出条形码二维码 第13波-一键生成自由报表 第14波-一键生成零售购物篮分析 第15波-接入AI人工智能NLP自然语言处理 第16波-N多使用场景的多维表转一维表...追加中国特色的中文相关自定义函数 第30波-工作表快捷操作(批量创建、命名、排序、工作表目录) 第31波-数量金额分组凑数功能,财务表哥表姐最爱 第32波-空行空列批量插入和删除 第33波-报表形式数据结构转标准数据源
VBA的确是个很不错的编程工具,寄生在OFFICE内,无需安装庞大的开发环境,即开即用,方便灵活,能实现的事情也很多,但毕竟VBA是微软停止更新维护将近20年的一种语言,计算机的世界发展速度有多快大家有目睹...在VBA代码中调用加解密函数方法 说到重点,VBA开发者可能更多场景还要回到自己在VBA代码中想要调用其他语言开发好的函数,例如此篇的自定义函数。...快速批量插入图片 第12波-快速生成、读取、导出条形码二维码 第13波-一键生成自由报表 第14波-一键生成零售购物篮分析 第15波-接入AI人工智能NLP自然语言处理 第16波-N多使用场景的多维表转一维表...追加中国特色的中文相关自定义函数 第30波-工作表快捷操作(批量创建、命名、排序、工作表目录) 第31波-数量金额分组凑数功能,财务表哥表姐最爱 第32波-空行空列批量插入和删除 第33波-报表形式数据结构转标准数据源...DotNet版的正则处理函数 第40波-工资、年终奖个人所得税计算函数 第41波-文件文件夹相关函数 第42波-任意字符指定长度随机函数 第43波-文本处理类函数增强 第44波-可见区域复制粘贴不覆盖隐藏内容
所以在VBA的世界中,对某对象进行排序、筛选、去重等操作,在VSTO的世界中,使用LINQ来操作,将变得十分简单。...除了前面提到的区域转DataTable的方法外,其实笔者还用到过LinqToExcel这个类库,同样也是非常好用,有兴趣的朋友们,可以搜索了解下,示例文件也是做得很丰富易懂。...具体地址为:https://github.com/paulyoder/LinqToExcel 在Excel上使用LINQ访问集合对象 简单演示下用过的一些小代码 获取当前数据区域中的非隐藏行的行号集合。...=> t.Row - srcRangefirstRow).ToArray(); return visibleRowIndexs; } 获取数据区域单元格,过滤隐藏...结语 LINQ真的是.Net语言一个非常好用的技术,可以让代码写起来无比流畅,非常值得学习掌握,当然VBA转到VSTO开发的群体,也优先学习这个技术,让自己的代码写出来,更加.Net化,而不是简单的只是语法转换
自定义控件 通过使用getEnabled属性禁用(和启用)自定义控件的方法与使用getVisible属性隐藏(和取消隐藏)自定义控件的方法相同。...End Sub 要基于其在XML代码中的id禁用(和启用)某自定义控件,在现有的标准VBA模块或者新的标准VBA模块中包括下面的代码: Sub EnableAll() Call RefreshRibbon...如果控件的id与参数值匹配,就启用该控件。否则,禁用该控件。...Sub RefreshRibbon(ID As String) myID = ID 'Invalidate all controls on the Ribbon 'myRibbon.Invalidate...DisableAll End If End Sub 下图展示了在执行EnableInsert过程后两个启用控件的Attn Sh组的情况: image.png 同样,也可以基于tag属性而不是id
本文主要讲解操控工作表中一些界面元素的VBA代码。 名称框 名称框中的名字是为单元格区域定义的名字,可以由用户定义名称,或者由Excel自动创建,例如Print_Area和表1。...=False Next nm 但是,不能隐藏由Excel自动创建的表名称 即便隐藏了名称,你仍然能够通过在名称框中输入名称到达该名称的单元格区域。...设置滚动区域 示例代码: '设置工作表的滚动区域 '限制在单元格区域C5:J30 ActiveSheet.ScrollArea= "C5:J30" 但是,用户仍然能够通过在名称框中输入单元格地址来访问不在滚动区域中的任何单元格...:即便用户移动和重命名工作表,或者添加工作表,VBA代码将仍然引用的是正确的工作表。...'修改工作簿中工作簿标签颜色 Sheets(1).Tab.Color =vbGreen '恢复工作表标签颜色为无色 Sheets(1).Tab.Color =False 注意,代表颜色值的常量可以在VBA
实现了二维表格转换为一维表格,反过来的功能偶尔也是会用到的: 首先在customUI.xml中增加代码: id="rbbtnTarnsTable1To2" label="一维表转二维表...("Scripting.Dictionary") Set dcol = VBA.CreateObject("Scripting.Dictionary") Dim i As Long...A1") '记录项目的行号、姓名的列号 Dim strkey As String For i = 2 To UBound(arr) strkey = VBA.CStr...(arr(i, 1))) + 1 pcol = dcol(VBA.CStr(arr(i, 2))) + 1 Result(pRow, pcol) = Result...(pRow, pcol) + VBA.Val(arr(i, 3)) Next rngout.Resize(drow.Count + 1, dcol.Count + 1).Value =
2.VBA程序如何修改双击间隔? 3.是非题:KeyDown事件过程可以使用KeyCode参数判断用户输入的是4还是$。 4.KeyDown事件过程中的代码如何取消按键?...6.假设一个控件被重叠控件隐藏。在运行时,如何使隐藏的控件可见? 7.如何防止用户通过制表键将焦点移到控件上? 8.如何命名事件过程?...16.是非题:保护工作簿的密码可防止用户查看你的VBA代码。 17.是非题:一个bug阻止程序运行。 18.程序在何时应该使用OptionExplicit语句? 19.什么是断点?...23.VBA如何将bugs报告给程序员? 24.是非题:最终用户必须具有已安装的Excel版本才能运行Excel应用程序。 25.自定义VBA类的代码放在哪里?...26.是非题:自定义VBA类可以包含可视化界面。 27.如何创建只读属性? 28.是非题:PropertyGet过程的返回值必须与PropertyLet过程的参数具有相同的数据类型。
领取专属 10元无门槛券
手把手带您无忧上云