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

VBA实战技巧32:安装Excel加载宏

我们知道,有多种方法可以进入“Excel加载宏”对话框。最简单的就是,单击功能区“开发工具”选项卡“加载项”组中的“Excel加载项”,即可打开如下图1所示的的“加载宏”对话框。...这两种方法的操作演示如下图2所示。 图2 如果你的加载宏不在“可用加载宏”列表中,则必须单击该对话框右侧的“浏览”按钮,进行查找,然后将其添加到可用加载宏列表中。...Excel是如何管理加载宏列表的 在后台,Excel使用注册表和一个特殊文件夹来管理存在哪些加载项以及已安装了哪些加载项。...如果单击“否”,则会弹出另一个对话框,询问用户是否希望继续询问有关安装加载项的问题,如下图8所示。 图8 如果单击“是”,代码会存储该响应值,因此不会再次打扰用户。...使用OnTime方法使Excel有时间在启动安装过程之前执行其所有启动的一些工作: Private Sub Workbook_Open() Application.OnTimeNow, "'"

5.3K20

一起学Excel专业开发15:用户自定义函数与函数库加载宏

图1 在Excel中,只用于提供用户自定义函数的加载宏称为函数库加载宏,这是最简单的一类加载宏。这样,只要安装了函数库加载宏,就可以在工作表中使用其所包含的自定义函数了。...图3 方法2:使用XLM函数 可以执行一个XLM宏函数来注册自定义函数,具体的代码见Function.xla中的MRegister模块,你可以在完美Excel微信公众号底部发消息: 宏函数注册 下载该工作簿...并且,无论你是否为函数指定了类别,它都在用户定义类别中存在。 给加载宏创建友好的名称和描述信息 单击功能区选项卡“开发工具——加载项”,显示“加载宏”对话框,其中列出了所有可用的加载宏。...选取想要安装的加载宏前的复选框,单击“确定”即可安装该加载宏,如下图4所示。 ?...此时,单击功能区选项卡“开发工具—加载项”,在“加载项”对话框中选择刚才的加载宏后,下方会显示详细的信息,如下图7所示。 ? 图7

1.6K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    C++动态库和静态库_动态库和静态库调用方法

    优点 缺点 静态库 1、 使可执行文件依赖项少,已经被打包到可执行文件中了2、 编译阶段完成链接,执行期间代码装载速度快 1、 使可执行文件变大2、 若作为其他库的依赖库,将会造成多余的副本,因为必须与目标文件打包...单击“确定 方式4: 在文件中使用#pragma comment()指定.lib文件的位置。...这里使用通常的宏定义做法,如图所示。 头文件: 源文件: 生成动态库: 这里需要注意,生成两个有用文件,一个是.lib,一个是dll。...静态库与可执行文件打包,动态库与可执行文件独立。静态库加载需要.lib和.h文件。动态库隐式加载需要.dll、.h、.lib文件,显示加载只需要.dll文件。...版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

    3.2K20

    攻击者如何使用 XLL 恶意软件感染系统

    但是,攻击者也可以利用这些功能来实现恶意目标。 在我们看到的活动中,带有恶意 XLL 附件或链接的电子邮件被发送给用户。双击附件打开 Microsoft Excel,提示用户安装并激活加载项。...使这种技术变得危险的是,只需单击一下即可运行恶意软件,这与需要用户禁用 Microsoft Office 的受保护视图并启用宏内容的 VBA 宏不同。...出售 XLL 恶意软件 XLL 攻击的增加促使我们搜索地下论坛,以评估使用这种文件格式的工具和服务的流行程度。我们反复遇到来自一个威胁参与者的广告,他们声称正在销售一种创建 XLL 滴管的构建器。...由于加载项是一个 .NET 应用程序,我们可以对其进行反编译以检索其源代码以进行进一步分析。图 6 显示了我们分析的 XLL 加载项的启动函数,该加载项充当恶意软件下载器。...自定义生成的加载项 我们最近还发现了其他类型的 XLL 恶意软件,它们不使用 Excel-DNA 生成加载项。其中一个示例下载器特别有趣,因为它很小(4.5 KB)。

    2.2K10

    Visual Studio 2017 15.8 版发行说明

    此外,此功能集还修复了 F# 编译器中的一个 bug - 即可以进行“不良结构替换”,也就是说,调用 F# 结构上的方法时可以使用其他结构替换正调用的实际结构。...如果复杂宏在其阐明预处理器使用什么代替宏标识符时引用了其他宏,这将特别有用。 添加了新的快速修复灯泡,将基本宏转换为 constexpr 作为使代码变得新式的新工具。...如果你在进入时系统库调入用户代码,则调试器跳过所有系统代码并在用户代码回调的第一行上停止(图 10)。 ?...(图 10)仅我的代码 数据断点现在可在“监视”、“快速监视”、“自动”和“局部变量”窗口中进行设置,从而只需几次短的单击即可在存储于内存中的值发生更改时切断。...扩展包 借助扩展包,可轻松共享自己偏好的一组扩展或设置新的带有所有扩展的 Visual Studio 安装。 利用扩展包,可创建扩展列表、将其打包在扩展中,并使用列表快速批量安装这些扩展。

    8.2K10

    将独立的 Python 网络应用程序分发给非技术用户

    NSIS 可以做到这一点吗?例如,NSIS 可以检查当前安装的 Python 副本吗?有没有更好的方法来做到这一点——是否有方便的框架可以让我们将代码放入一个文件夹并将其捆绑起来以制作安装程序?2....解决方案方法一使用 NSIS 是一个好主意,但我们建议使用诸如 pyinstaller(我们个人最喜欢的,其他选择是 bb_freeze 和 py2exe)这样的“打包器”来在使用 NSIS 之前创建...您可以使用 pyinstaller --onefile 创建一个单文件exe,这是非常方便的,因为用户只需要单击一下即可运行您的应用程序,而无需安装任何其他东西。...方法二您可以使用像 cx_Freeze 这样的工具将 Python 脚本转换为可执行文件,然后使用 NSIS 将可执行文件打包成安装程序。...不管您选择哪种方法,您都可以创建一个独立的 Python 网络应用程序,该应用程序可以轻松分发给非技术用户。

    9810

    Vue.js中的延迟加载和代码拆分

    在本系列中,我将深入研究我们在实践中使用的Vue性能优化技术,并且您可以在Vue.js应用程序中使用它们,使应用程序快速加载并顺利执行。...要了解它,首先我们需要了解Webpack如何打包所有文件。 打包我们的资源(assets)时,Webpack会创建一个依赖图。它是一个基于导入链接所有文件的图表。...输出包只是一个(或我们将在后面的部分中看到的多个)javascript文件,其中包含依赖图中的所有模块。 这个bundle包本质上是我们整个应用程序的JavaScript。...我们需要一种方法告诉我们的应用程序什么时候应该下载这段代码。 这是动态导入可以帮助我们的地方!现在看一下这个例子: ?...在DOM中需要渲染组件之前,组件将不会加载。想要加载,只要v-if值更改为true即可。 总结 延迟加载,是使您的Web应用程序更高效并减少js bundle大小的最佳方法之一。

    7.8K10

    Visual Studio 2005 IDE 技巧和窍门

    不过,对于如何找到 Visual Studio 内部的所有键盘快捷方式还没有简便的方法。您可以编写一个简单的宏,对于所有默认键盘快捷方式进行遍历,找到它们所对应的操作。...实际上,可以将可对环境进行的所有自定义设置导出到一个文件中,这样就可以将这些自定义设置与其他用户分享使用、将其导入到其他计算机,或者作为备份来存储。...可以根据需要,随时导出所有环境设置,也可以只导出其中的一部分。 在创建我们的“窗口选择器”时,第一个步骤是为每个想要使用的窗口布局创建单独的设置文件。...这会显示代码段选取器,使用它可以浏览适用于当前编程语言的所有代码段以及选择要插入的代码段。这种插入代码段的方法对于 C# 和 Visual Basic 均有效。...Visual Studio 会显示一个按字母排序的列表,其中包含与突出显示的内容最为匹配的所有代码段的别名。此功能仅适用于 Visual Basic 用户。 图 9.

    2.2K40

    Word VBA技术:创建、打开或关闭文档时自动运行宏

    如果单击右侧下拉列表,将看到很多可供选择的事件,其中包含三个事件:New、Open和Close,可以从列表中选择“Close”或“Open”以插入Document_Close()或Document_Open...方法2:使用自动宏 实现相同目标的另一种方法是插入一个标准模块(单击VBE工具栏“插入-模块”),并编写名为AutoNew()、AutoOpen()或AutoClose()的宏。...事实上,在加载项中存储AutoNew、AutoOpen或AutoClose宏是没有意义的,因为不会(或不应该)将文档基于加载项。...方法3:使用应用程序事件 如果希望在打开任何文档时触发宏,而不管文档附加到哪个模板,如上所述,最简单的方法是编写一个AutoOpen宏并将其存储在Normal.dotm中。...可以使用Application对象的DocumentOpen、NewDocument和DocumentBeforeClose事件,将它们存储在加载项中的工作方式与在Normal.dotm中存储自动宏类似

    3.1K30

    Python让Excel飞起来:使用Python xlwings实现Excel自动化

    2.使用Python编写宏,并通过单击按钮从Excel运行。 3.使用Python编写用户定义的函数,并像调用任何Excel内置函数一样从Excel中调用这些函数。 听起来很刺激?让我们开始吧!...(或者,你可以到知识星球中的完美Excel社群下载) 将xlwings.xlam文件放入Excel加载项文件夹,该文件夹所在位置为: C:\用户\xxxx\AppData\Roaming\Microsoft...然后,打开Excel,选择“文件->选项->加载项”。单击“管理:Excel加载项”旁边的“转到”按钮,如下图1所示。...图1 在“加载宏”对话框中,选取Xlwings前的复选框,如下图2所示,单击“确定”按钮。 图2 现在,Excel功能区中将出现一个名为“xlwings”的选项卡,如下图3所示。...我们似乎在使用Excel函数,但其实在后台,Python正在进行所有计算,然后通过Excel向用户显示结果。这意味着,由于Python的强大功能,我们可以创建非常复杂的函数。

    9.7K41

    用ServBay快速构建下一代GraphQL应用

    GraphQL是由Facebook开发的一种数据查询和操作语言,用于API,并作为运行时用于执行这些查询的服务器端软件的一种方式。它提供了一种更高效、强大和灵活的替代REST的方法。...高效的类型系统: GraphQL 拥有强大的类型系统,可以在 API 中定义数据的结构和关系。高效的数据加载功能: GraphQL 使客户端能够在单个请求中检索多个资源。...,提供容器化技术,用于构建应用程序及其依赖项并将其打包到可移植映像中。...使用 Docker(或任何其他容器化技术),您可以将每个微服务封装在其自己的容器中,从而提供高级别的隔离。每个容器作为一个独立的单元运行,具有自己的依赖项和运行时环境。此外,您可以轻松扩展微服务。...为此,只需导航到 即可在浏览器中访问 Apollo Server API 沙箱http://localhost:/graphql。进入沙箱后,您可以发送请求并观察响应。

    18600

    VBA专题10-8:使用VBA操控Excel界面之在功能区中添加内置控件

    在CustomUI Editor中,单击“插入”并选择“Office 2007 Custom UI Part”。之所以选择这个选项,是使工作簿与Excel 2007及以后的版本兼容。...从“管理”下拉控件中选择“Excel加载项”,单击“转到”。 3. 如果在可用的加载项列表中没有你的加载项,单击“浏览”按钮查找到你保存该加载项的文件夹中的文件。 4....在可用的加载项列表中选中该加载项前的复选框。 5. 单击“确定”安装加载项。 如果要卸载该加载项,简单地重复上述步骤并取消选中该加载项前的复选框。...如果要水平排列一组组合框、菜单、库、复选框、标签或者普通控件,应使用box元素。 下图展示了上述XML代码的效果: ? 添加通用控件 当在功能区中添加内置控件时,也可以使用控件元素而不是指定其类型。...这样可以用于所有内置控件而不管其实际类型。如下面的XML代码所示: ? ? 下图展示了上述XML代码的效果: ?

    6.7K30

    Excel实战技巧:创建带有自定义功能区的Excel加载宏

    创建的这个带有自定义功能区的Excel加载宏将可以有任意工作簿中使用,下面我们详细讲解其创建过程。...第1 步:创建一个新工作簿,将其保存为启用宏的工作簿(本示例使用名称MyCustomRibbon.xlsm)。 第2步:单击“文件——信息”,选择“属性——高级属性”,如下图1所示。...单击“文件——选项”,在“Excel选项”对话框中选择左侧的“加载项”,然后在右侧底部的“管理”下拉列表中选择“Excel加载项”,单击“转到”按钮,如下图7所示。...图7 在“加载宏”对话框中,选择刚才创建的“自定义界面加载宏”,如下图8所示。如果在“可用加载宏”列表中没有出现自已创建的加载宏,则单击“浏览”按钮,导航到加载宏所在的文件夹,选择该加载宏即可。...图8 此时,在Excel工作簿功能区中出现了一个新的选项卡,如下图9所示。单击选项卡组中的按钮,会调用相应的宏显示信息。 图9 第7步:修改成中文。

    3.2K20

    使用IBM Blockchain Platform extension开发你的第一个fabric智能合约

    :这些是定义合同交易的函数-这些东西使你可以与分类账进行交互。...这样的事务,称为“查询”。如你所见,此函数仅采用myAssetId并返回键所指向的任何状态的值。 可以详细看下合同中的其他交易。然后,你可以继续打包和部署该合同,从而来使用它。...打包智能合约 现在,你已经创建了智能合约并了解其中的交易,是时候打包了。智能合约项目打包成.CDS文件,这是一种特殊类型的文件,可以安装在Hyperledger Fabric节点上。...如果要在实例化过程中使用特定功能,则可以在此处输入内容。现在只需按Enter即可跳过此步骤。 然后,系统会询问你是否要提供私有数据配置文件。对于本教程,只需单击“否”....因此,你已经有了一个网关和一个带有单个身份的关联钱包,这意味着该网关可以使用了。 单击local_fabric(在FABRIC GATEWAYS下)以通过此网关连接。

    1.3K20

    入门Webpack(上)

    htmlResult1 有没有很激动,已经成功的使用Webpack打包了一个文件了。不过如果在终端中进行复杂的操作,还是不太方便且容易出错的,接下来看看Webpack的另一种使用方法。...,一个更好的办法是定义一个配置文件,这个配置文件其实也是一个简单的JavaScript模块,可以把所有的与构建相关的信息放在里面。...webpack 又学会了一种使用Webpack的方法,而且不用管那烦人的命令行参数了,有没有感觉很爽。...在package.json中对npm的脚本部分进行相关设置即可,设置方法如下。...npmStartTermialResult 现在只需要使用npm start就可以打包文件了,有没有觉得webpack也不过如此嘛,不过不要太小瞧Webpack,其强大的功能包含在其一系列可供配置的选项中

    1.1K90

    驱动库分享整理(1)——用于单片机中的小巧多功能按键支持库

    :是一个基于标准C语言的小巧灵活的按键处理库,支持单击、连击、短按、长按、自动消抖,可以自由设置组合按键,可用于中断和低功耗场景。...项目主页: https://gitee.com/wei513723/key_board 软件采用了分层的思想,并且做到了与平台无关,用户只需要提供按键的基本信息和读写io电平的函数即可,非常方便移植,同时支持多个矩阵键盘及多个单...mod=viewthread&tid=277263 //          本键盘扫描模块的特点: 一、使用灵活:一体实现按键的普通、单击、双击、长按、保持以及组合等功能,无须事前为每个按键每种键值逐一进行宏定义...弱化三行功能,采用带参宏一次性定义了几乎所有的按键宏值,使得移植者无须为各类按键定义大量宏值,直接处理标准化格式的按键事件即可。...定版本为2.2; (2018年9月1日) 增加了大量注释,其中包括详细的运用、移植修改方法; (2018年9月2日) 新写了一个4*4矩阵加4键直联混合共20个键的例子(放在153楼/154楼),供使用行列式矩阵等复杂键盘开发者参考

    1.3K10

    《刚刚问世》系列初窥篇-Java+Playwright自动化测试-2-环境准备与搭建-基于Maven(详细教程)

    1.简介上一篇宏哥已经讲解和分享了如何通过引入jar包来搭建Java+Playwright自动化测试环境,这一种是比较老的方法,说白了就是过时的老古董,但是我们必须了解和知道,其实maven搭建无非也就是下载引入相关的...基于项目对象模型(POM)的概念,Maven可以从一个中心资料片管理项目构建,报告和文件。由于现在企业和公司中Java的大部分项目都是基于Maven, 而且也是比较流行、方便、简单的一种方式。...因此要给上面创建的maven项目中加载playwright依赖jar包,只需在pom.xml中引入playwright的jar包即可;具体步骤如下:1.查看maven仓库:http://mvnrepository.com...版本,点1.40.0进入页面后,只需要单击下边的编码就自动全选复制了。...如下图所示:需要其他的jar包只需配置到pom.xml中即可!是不是比之前介绍的方法简单多了哈!8.2修改jdk版本因为playwright的Java需要Java8以上,所以需要重新配置jdk。

    27320

    BI如何实现用户身份集成自定义安全程序开发

    Description 安全提供程序的描述文本,可以为空。 SupportedSettings 该安全提供程序加载和运行时所必须的配置项。...比如安全提供程序需要访问数据库,那么数据库连接字符串即为一个必须的配置项,必须由管理员在安全提供程序管理页面配置好,该安全提供程序才能正常工作。可以没有任何必须的配置项,返回一个空列表即可。...CreateAsync 创建一个安全提供程序的实例。参数settings即为管理员已经配置好的配置项列表,用户可以在这里把配置项列表通过构造函数传入构建的安全提供程序实例。...只需要对此方法中的 Database.GetUserInfo 这个被调用的方法进行改造即可。...接下来就是打包测试了,将程序配置好之后,就可以正常测试使用了。 登录API客户端管理 登录api代码示例 通过postman调用生成token ,生成对应的安全自定义程序。

    55930

    一种为 Linux ARM 设备构建跨平台 UI 的新方法

    然而,我们已经创建了一个概念验证(PoC),它提供了一种新的方法来使用现有的、成熟的工具为运行在桌面、移动、嵌入式设备和低功耗 ARM 设备上的应用程序构建用户界面(UI)。...选择 Android Studio 可以使用 TotalCross API 为应用程序构建一个美观的响应式用户体验,但是在 Android Studio 中创建 UI 缩短了制作原型和实际应用程序之间的时间...只需两个命令,我们就可以使用 TotalCross 运行 Android XML 文件。...例如,为了使用户能够改变家中或其他建筑物的温度,我们在 UI 底部放置了加号和减号按钮,并在每次单击按钮时都会出现“单击”事件,使温度升高或降低一度: Button plus = (Button) xmlCont.getControlByID...我们只需要打包应用程序并在目标设备上部署和运行它。VNC 也可用于检查设备上的应用程序。

    1.9K50

    一种为 Linux ARM 设备构建跨平台 UI 的新方法

    然而,我们已经创建了一个概念验证(PoC),它提供了一种新的方法来使用现有的、成熟的工具为运行在桌面、移动、嵌入式设备和低功耗 ARM 设备上的应用程序构建用户界面(UI)。...选择 Android Studio 可以使用 TotalCross API 为应用程序构建一个美观的响应式用户体验,但是在 Android Studio 中创建 UI 缩短了制作原型和实际应用程序之间的时间...只需两个命令,我们就可以使用 TotalCross 运行 Android XML 文件。...例如,为了使用户能够改变家中或其他建筑物的温度,我们在 UI 底部放置了加号和减号按钮,并在每次单击按钮时都会出现“单击”事件,使温度升高或降低一度: Button plus = (Button) xmlCont.getControlByID...我们只需要打包应用程序并在目标设备上部署和运行它。VNC 也可用于检查设备上的应用程序。

    1.5K20
    领券