我们知道,有多种方法可以进入“Excel加载宏”对话框。最简单的就是,单击功能区“开发工具”选项卡“加载项”组中的“Excel加载项”,即可打开如下图1所示的的“加载宏”对话框。
拆分按钮控件是一个含有单击按钮和下拉按钮列表的组合控件。用户可以选择单击按钮,或者从下拉列表中选择单击其中一个按钮来执行相应的命令。
文章背景: 在VBA中创建弹窗对话框,可以使用MsgBox函数;但是该函数得到的消息框,必须手动关闭它。下面介绍一个未公开的Windows API函数,可以使用该函数得到一个自动定时关闭的消息框。
我们知道,在VBA中可以使用MsgBox方法来弹出消息框,然而需要单击其中的“确定”按钮来使程序继续运行或进行其他操作。如果想要自动关闭消息框,如何实现?
Excel已经为我们准备好了编写VBA代码的编辑器,让我们非常方便地编写、运行和调试、保存VBA代码。
好的应用程序应该能够捕获错误并进行相应的处理,而不是VBA弹出的错误消息。正如上文提到的,有两种方法处理运行时错误。对于可预见的错误,编写特定的代码来处理它们。对于不可预见的意外错误,则使用VBA错误处理语句来处理。
经过本系列前面几篇文章(参见:VBA专题10-11:使用VBA操控Excel界面之在功能区中添加自定义拆分按钮控件、VBA专题10-10:使用VBA操控Excel界面之在功能区中添加自定义切换按钮控件、VBA专题10-9:使用VBA操控Excel界面之在功能区中添加自定义按钮控件)的学习,我们对于在功能区中添加自定义控件的步骤应该很熟悉了。
当我们删除工作簿中的工作表时,Excel会自动弹出“MicrosoftExcel将永久删除此工作表。是否继续?”的信息提示框,要求你选择“删除”还是“取消”,如下图1所示。
虽然我们都能感知到“时间的流逝”,但却始终无法确定“时间”究竟是什么,唯一能确定的是,“时间”确实在一点点地失去,并且不可逆转。人的一生“时间”并不多,请珍惜你的时间!
首先,我们来解释什么是不同值和唯一值。不同值意味着值是不同的,例如列表{A, B, B, C}中的不同值是{A, B, C},不同值个数是3。而唯一值意味着值仅出现一次,例如列表{A, B, B, C}中的唯一值是{A, C},唯一值个数是2。
官方文档:https://docs.microsoft.com/zh-cn/office/vba/api/overview/language-reference 代码完成后:工具-vbaproject属性-保护-查看时锁定-密码
在上篇文章《VBA专题10-12:使用VBA操控Excel界面之在功能区中添加自定义组合框控件》中,我们详细介绍了如何在自定义功能区中添加组合框。使用组合框,我们不仅可以从中选取列表项,还可以在其中输入文本。然而,本文介绍的下拉控件仅允许用户从控件下拉项中进行选择。
消息框是一个特殊的对话框,用于向用户显示一条信息。用户无法在消息框中键入任何内容。通常会创建两种消息框:一种只是显示信息,另一种是希望用户做出决定。
这是在exceloffthegrid.com中看到的一个案例,一个非常有用的节省时间的宏:在单元格之间分配值。
注意到Name命令需要文件路径和文件名吗?因此,该命令不仅可以重命名文件,还可以移动文件。例如,下面的代码将文件从D:\完美Excel\移动到D:\完美Excel\我的文章\,但文件名保持不变。
在《VBA通用代码:在Excel中创建弹出菜单》中,我们可以在工作表中按快捷键后,会弹出一个带有命令的弹出菜单,单击相应的命令按钮即可执行相应的操作。如下图1所示,在工作表中按Ctrl+m键,会弹出一个快捷菜单,单击其中的任意命令,会出现消息框。
这里是一个VBA用户定义函数(UDF),它显示带有一个、两个或多个选项的消息框,其中一个选项(默认)将在秒时间计数结束时自动选择。它是一个改进的MsgBox函数,这里名为MsgBoxT函数。
下面的代码将openpyxl.xlsx从文件夹D:\完美Excel\复制到D:\完美Excel\我的文章\。
如果当excel为电子表格的人,做了一辈子的工作也是重重复复的“复制—粘贴”的工作,因为Excel中有VBA编程的功能,能使用很多重复的工作一个小程序是搞掂,所以就是“Excel”了。
找了个时间看了下EasyUI插件。对它的插件感觉是非常舒服,特地把Easy UI的大部分功能属性做了一下汇总。
想要阻止用户删除工作表,但是又想要允许插入工作表并重命名工作表,因此不能设置保护工作表,那么该如何实现呢?
这是在forum.ozgrid.com中找到的一个Excel工具,可以分析并列出指定工作簿中应用的数据验证。
在某些情况下,可能想知道在文档中每个字母有多少个,即字母a-Z中每个有多少,或者可能想找出特定文本中最常用的字母。
工作中,由于需要出定期的report,需要用到office,主要是要用到excel表格,然后给各个team或者boss发email report。这里边就包含了不少重复性的工作,工作中常常有一个固定的模板来出report,而每次只需将相关的数据手动导入,如果将这些重复性的动作,实现自动化,无疑可以省去不少功夫。于是我就想到了用python来实现自动化生成表格。今天介绍的只是一部分,主要是excel表格自动修改生成。
Excel程序员可以创建自定义对话框以在VBA应用程序中使用。这些对话框在Office中称为用户窗体,可以包含你在属于Excel应用程序本身以及其他Windows应用程序的对话框中看到的所有元素,它们提供了非常强大的编程工具,使你可以为Excel应用程序提供自定义的可视界面。本课程以及接下来的三节课将向你展示如何创建和使用用户窗体。
在Excel中,数据只有文本,数值,日期值,逻辑值和错误值五种类型。但是在VBA中,数据类型跟Excel不完全相同。根据数据的特点,VBA将数据分为布尔型(boolean),字节型(byte),整数型(integer),单精度浮点型(single),双精度浮点型(double),货币型(currency),小数型(decimal),字符串型(string),日期型(date),对象型等等
据观察,高级持久威胁(APT-C-35)小组总部设在印度,据观察,他们使用鱼叉式网络钓鱼电子邮件瞄准了巴基斯坦的政府和军事人员。该威胁组织已经存在了好几年,对南亚的政治和军事实体进行情报行动。这是APT演员对巴基斯坦政府发起的新一轮攻击。鉴于该地区与印度之间的历史紧张关系以及最近的地缘政治紧张局势加剧,对巴基斯坦政府的网络攻击继续发生也就不足为奇了。该小组还展示了在过去的运营中针对手机用户的能力。该组织在针对巴基斯坦商人时冒充了巴基斯坦国家银行。
DataGrip 是一款数据库管理客户端工具,方便的连接到数据库服务器,执行sql语句、创建表、创建索引以及导出数据等。
在Excel工作表中,选取工作表中的图片,单击右键,会弹出一个与操作图片相关的快捷菜单,有时候,我们想在这个快捷菜单中添加自定义的按钮,如下图1所示,如何做到呢?
在用户窗体中有许多个文本框,我想让这些文本框都不能输入字母。代替一个个对文本框进行处理,可以使用类模块来操作。
Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍LineEdit单行输入框组件的常用方法及灵活运用。
使用VBA宏,可以自动执行重复、单调且有时非常无聊的任务。在某些情况下,这有可能将数小时的工作减少到几分钟或几秒钟。
大家好,前面示例中涉及过输出msgbox函数,使用最简单的形式,本节就将这个函数的内容扩充一下,学习其完整的结构,内容重在理解。
其中,Now()引用当前日期和时间,将其存储在变量time中,然后加上30秒,因此将time称为未来时间。
python中通常我们写程序,显示结果和操作都是在终端区,如果要想实现一个有显示界面的程序那该怎样实现呢?python中有好几个库都可以实现,这个系列我们一起来学习如何使用python自带的tkinter库来实现。
使用Selection.SetRange语句来选择表格内指定的单元格区域。示例代码:
在本系列后面的示例程序中,你将会看到如何使用项目和带图像的库控件通过getItemLabel和getItemImage回调属性引用的VBA过程在运行时动态地填充下拉控件。另一个允许动态填充其内容的控件是组合框控件。
数据填报系统是企业收集分散的业务数据的一个重要渠道,与传统的Excel数据汇总相比,它具有自动化、效率高、数据可直接入库的特点。
Microsoft Office 被广泛用于商务和运营分析中, 其中 Excel 尤其受欢迎。Excel 可以用于存储表格数据、创建报告、图形趋势等。在深入研究用 Python 处理 Excel 文档之前,让我们先了解一些基本术语:
今天看到一个关于SHFileOperation函数使用的介绍,发现下面一些有用的资料,都是些之前未仔细了解的方面,这里把他们记录下来,留待以后查阅参考。
VBA提供了一些出色的工具来帮助你查找和修复程序bugs。本课程将讲解什么是bugs、如何处理它们,并介绍一些与发布应用程序有关的因素。
定制模块行为 (1) Option Explicit ‘强制对模块内所有变量进行声明 Option Private Module ‘标记模块为私有,仅对同一工程中其它模块有用,在宏对话框中不显示 Option Compare Text ‘字符串不区分大小写 Option Base 1 ‘指定数组的第一个下标为1 (2) On Error Resume Next ‘忽略错误继续执行VBA代码,避免出现错误消息 (3) On Error GoTo ErrorHandler ‘当错误发生时跳转到过程中的某个位置 (4) On Error GoTo 0 ‘恢复正常的错误提示 (5) Application.DisplayAlerts=False ‘在程序执行过程中使出现的警告框不显示 (6) Application.ScreenUpdating=False ‘关闭屏幕刷新 Application.ScreenUpdating=True ‘打开屏幕刷新 (7) Application.Enable.CancelKey=xlDisabled ‘禁用Ctrl+Break中止宏运行的功能 工作簿 (8) Workbooks.Add() ‘创建一个新的工作簿 (9) Workbooks(“book1.xls”).Activate ‘激活名为book1的工作簿 (10) ThisWorkbook.Save ‘保存工作簿 (11) ThisWorkbook.close ‘关闭当前工作簿 (12) ActiveWorkbook.Sheets.Count ‘获取活动工作薄中工作表数 (13) ActiveWorkbook.name ‘返回活动工作薄的名称 (14) ThisWorkbook.Name ‘返回当前工作簿名称 ThisWorkbook.FullName ‘返回当前工作簿路径和名称 (15) ActiveWindow.EnableResize=False ‘禁止调整活动工作簿的大小 (16) Application.Window.Arrange xlArrangeStyleTiled ‘将工作簿以平铺方式排列 (17) ActiveWorkbook.WindowState=xlMaximized ‘将当前工作簿最大化 工作表 (18) ActiveSheet.UsedRange.Rows.Count ‘当前工作表中已使用的行数 (19) Rows.Count ‘获取工作表的行数(注:考虑向前兼容性) (20) Sheets(Sheet1).Name= “Sum” ‘将Sheet1命名为Sum (21) ThisWorkbook.Sheets.Add Before:=Worksheets(1) ‘添加一个新工作表在第一工作表前 (22) ActiveSheet.Move After:=ActiveWorkbook. _ Sheets(ActiveWorkbook.Sheets.Count) ‘将当前工作表移至工作表的最后 (23) Worksheets(Array(“sheet1”,”sheet2”)).Select ‘同时选择工作表1和工作表2 (24) Sheets(“sheet1”).Delete或 Sheets(1).Delete ‘删除工作表1 (25) ActiveWorkbook.Sheets(i).Name ‘获取工作表i的名称 (26) ActiveWindow.DisplayGridlines=Not ActiveWindow.DisplayGridlines ‘切换工作表中的网格线显示,这种方法也可以用在其它方面进行相互切换,即相当于开关按钮 (27) ActiveWindow.DisplayHeadings=Not ActiveWindow.DisplayHeadings ‘切换工作表中的行列边框显示 (28) ActiveSheet.UsedRange.FormatConditions.Delete ‘删除当前工作表中所有的条件格式 (29) Cells.Hyperlinks.Delete ‘取消当前工作表所有超链接 (30) ActiveSheet.PageSetup.Orientation=xlLandscape 或ActiveSheet.PageSetup.Orientation=2 ‘将页面设置更改为横向 (31) ActiveSheet.PageSetup.RightFooter=ActiveWorkbook.FullName ‘在页面设置的表尾中输入文件路径 ActiveSheet.PageSetup.Le
对于按钮组件、菜单组件等可以在创建组件时通过command参数指定其事件处理函数。方法为bind;或者用bind_class方法进行类绑定,bind_all方法将所有组件事件绑定到事件响应函数上。
#321、使用xml可视化工具 原文链接:You can use the XML Visualizer to view XML 操作步骤: 例如,在一段代码段文件里,你有一些有趣的字符串其中包含xml。 你可以选择文本可视化工具,不过看起来不是很舒服 如果你选择xml可视化工具,可以看见xml属性高亮显示 评论:在调试状态看有关xml内容选择xml可视化工具最合适了。 #322、使用html可视化工具 原文链接:You can use the HTML Visualizer to vie
DataGrip 是由JetBrains公司推出的数据库管理软件,DataGrip支持几乎所有主流的关系数据库产品,如DB2、Derby、H2、MySQL、Oracle、PostgreSQL、SQL Server、Sqllite及Sybase等,并且提供了简单易用的界面,开发者上手几乎不会遇到任何困难。
在Excel中,可以通过功能区“插入”选项卡“插图”组中的“形状”库按钮在工作表中插入形状。可以使用形状来可视化数据、在形状中添加文本、作为执行宏代码的按钮,等等。
长久以来,小编一直没有一款用的很顺手的数据库客户端管理工具,经常是用用这个用用那个,总觉得没有一款哪方面都特别满意的。 前几天一位学长给我推荐了一款名为DataGrip的工具,着实让人眼前一亮。 DataGrip的家世不得不说略显显赫,是由大名鼎鼎的JetBrains公司开发的产品,其最著名的产品就是Intellij IDEA,之前我们也介绍过一篇关于Intellij IDEA的文章,有兴趣的同学可以点这里:IntelliJ IDEA 2020.3.2 正式发布 DataGrip 是一款数据库管理客户端工
最近有一个要修改PE文件的需求,就先从EXE文件下手吧,我也是初学一个小时而已,不过之前接触过一点汇编罢了,这篇文章算是个DEMO,主要的思路是将其反汇编得到汇编代码后,然后手动修改他的逻辑首先跳转到弹框区域再跳转回来去执行原来的代码,相关的工具有ollydbg,以及要修改的一个xp系统自带的扫雷软件,还有参考的文章,都会在文末给出。
这个教程给出几个如何使用类似zenity和whiptail的工具在Bash Shell 脚本中提供消息/对话框的例子。使用这些工具,你的脚本能够告知用户当前程序运行的状态并能与用户进行交互。这两个工具的不同之处在于显示消息框或者对话框的方式。Zenity用GTK工具包创建图形用户界面,而whiptail则在终端窗口内创建消息框。
最近看到一款数据库客户端工具,DataGrip,是大名鼎鼎的JetBrains公司出品的,就是那个出品Intellij IDEA的公司。DataGrip是一款数据库管理客户端工具,方便连接到数据库服务器,执行sql、创建表、创建索引以及导出数据等。之前试用的客户端工具是dbvisualizer,但是在试用了DataGrip以后,我就决定抛弃dbvisualizer。
领取专属 10元无门槛券
手把手带您无忧上云