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

【Python】模块导入 ⑤ ( 主程序判断语句 | 模块中执行函数问题 | 制作自定义模块并执行函数 | 导入自定义模块会执行模块中的代码 )

一、模块中执行函数问题 1、制作自定义模块并执行函数 如果在自定义模块中 , 定义了函数 , 并且调用了该函数 ; 如下代码所示 : def add(a, b): print("调用 my_module...with exit code 0 2、导入自定义模块会执行模块中的代码 在主代码中 , 导入自定义模块 ; """ 自定义模块 代码示例 """ # 导入自定义模块 import my_module...0 这是因为 import 导入模块 , 将模块中的所有代码一次性拷贝到了该代码位置 , 执行该代码 , 即执行了 my_module 中的所有代码 ; 3、主程序判断语句 Python 中 提供了..., Python 会将模块的代码执行一遍 , 但是主程序的入口会被设置为导入该模块的模块的代码 ; 而当一个模块作为独立的主程序运行时 , Python 会直接执行该模块的代码 ; 为了区分这两种情况...的值才为 __main__ , 该代码块才会被触发执行 ; 此时再次执行 """ 自定义模块 代码示例 """ # 导入自定义模块 import my_module 主代码 , 执行结果为 , 没有触发模块中的可执行代码执行

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

    推荐一款神器-VBA&C#代码编辑管理器

    2、修改滚动条逻辑,解决闪烁问题。 3、修复代码拖拽到分组名称上无响应的问题。 4、修复删除分组或代码后再新建报错问题。 5、取消传送模块弹窗输入模块名的操作逻辑,如果发生同名冲突请重试。...2、实现分组和代码节点的增加、删除以及组名上下排序功能。 3、实现VBA代码的高亮、格式化、折叠等功能。 4、Excel格式代码库的批量导入。...7、VBE排版插件去除了VBA代码动态加密功能,有需要的请用2.x旧版。...已知bug: 1、由于Epplus不支持PrefixCharacter,在导入Excel数据时,如果VBA代码内容的第一个字符是单引号(即VBA注释),第二个字符不是汉字的情况下,会导致单引号丢失。...免费版的限制: 1、免费版可添加的代码数量有限制。 2、免费版不支持对VBE窗口进行代码传送。 3、免费版不支持打开其它数据库。 4、免费版不支持导入Excel数据到数据库。

    4.4K30

    Python替代Excel Vba系列(终):vba中调用Python

    Excel Vba"系列(三):pandas处理不规范数据 Python替代Excel Vba"系列(四):课程表分析与动态可视化图表 前言 有小伙伴向我反映到,本系列前面的章节主要还是在讲 pandas...本系列一直强调要善用各种工具,作为本系列的最后一节,那么这次就用一例子说明如何让Python结合Vba,直接在Excel中动态获取各种处理条件,输出结果。...执行以下语句,即会生成一个 py 文件和一个 带宏的 excel 文件。...如果只是方法里面的语句改动,则无需重导入。 ---- ---- 按 alt + f11,打开 vbe(vba的编辑器)。发现其中有3个模块,分别是 Module1 和 xlwings。...Module1 是需要我们自己写入所需的 vba 代码。 xlwings 模块是 xlwings 自动生成的,我们不需要去改动。 xlwings_udfs 模块就是你在功能区点击导入按钮时生成的。

    5.4K30

    (ExcelVBA编程入门范例)

    大家好,又见面了,我是你们的朋友全栈君。 很喜爱VBA,喜欢使用她对Excel操作实现所需的功能,更喜欢使用VBA控制Excel以及实现结果后的那种感觉。...,即将现有的代码复制后,粘贴到相应的代码模块中; ■ 导入代码模块,即在VBE编辑器中选择菜单“文件——导入文件”或在“工程资源管理器”的任一对象上右击鼠标选择菜单“导入文件”,选择相应的代码文件导入...调试VBA代码 在VBE编辑器的菜单中,有两项与调试运行有关的菜单项,即“调试”菜单和“运行”菜单,它们提供了各种调试和运行的手段。在我现阶段进行代码调试时,常用到的有以下几个: ■ 逐语句。...在可能存在问题的语句处设置断点(可通过在相应代码前的空白部位单击,将会出现一个深红色的椭圆即断点),当程序运行至断点处时,会中止运行。...■ 可以按F5键直接运行光标所在位置的子程序。 在执行程序后,必须在Excel工作表中查看所得到的结果。

    4.2K20

    Excel880 VBA代码助手专业版正式发布OFFICE+WPS均可用 兼容32+64 鼠标中键快捷插入代码

    历时一个月的紧张开发,VBA代码助手专业版终于问世了,对原加载宏版VBA代码助手进行了全面升级,焕然一新的代码助手重装上阵,希望一如既往的带给大家最好的代码收藏管理和快速插入体验 !...代码== 1个具有名称的代码块,就是收藏的最终目标 模块== 标准模块,类模块或者窗体模块总称 注意这3类收藏后不要修改,以免造成无法导入 操作说明 树形节点单击显示详情,双击写入到VBE里,也可选中后点上方输出到...节点窗口中,按Delete键删除节点。...,收藏选择,删除节点,全部折叠,全部展开】 本工具默认都在所选的节点下方进行操作 代码名称或者内容修改后请点击保存代码库,这些操作非实时保存 注意窗体模块保存后不要修改,会造成无法插入,需要备注可在标签栏填写...免费版限制如下 代码条数150条 不可导入导入 不可以在非Excel环境下实用 对99%的Excel vba开发者来说 免费版就够用了!!

    3.6K20

    从Python中运行Excel VBA

    有时候,我们可能想要从Python运行Excel VBA宏,特别是当想要运行已有的Excel宏时,这很有用——甚至可以在不打开Excel文件的情况下执行这些VBA宏。...Excel VBA宏 下面是一个非常简单的Excel VBA宏,它接受一个参数,在工作表Sheet1的单元格B2中输入一条问候语。...模块1.mymacro("完美Excel")') wb.Save() xl.Application.Quit() 为了调用VBA宏,使用了xl.Application.Run()方法,其中的参数指示要运行的宏...模块1.mymacro("完美Excel")') 其中: 1.pythonrunvba.xlsm!:包含VBA的文件,这里不需要包括完整路径。 2.模块1:包含宏的模块名。...最后,不要忘了调用xl.Application.Quit()关闭Excel应用程序。让Excel应用程序在后台打开可能会在以后导致程序出现问题。

    5.7K20

    打破Excel与Python的隔阂,xlwings最佳实践

    这里参数 expand='table' ,这会让公式变成一个自动扩展范围的动态数组公式(结果是一个表,行列数都是动态的) Python 的代码已经有了,但是 Excel 是不可能直接识别你定义的函数。...首先,我们之所以能在 Excel 上输入公式时,出现我们的自定义函数,是因为在这个 Excel 文件中,存在 vba 代码,定义了同名的方法: 从 vbe 界面中可以看到,当我们点击"导入函数"按钮时...通过快捷键 alt + F11 即可打开 因此,Excel 公式执行时,会转而执行 Python 文件中的同名函数。...这问题由于 xlwings 在执行 vba 的方法时,会启动一个 Python 进程(只有首次运行的时候),然后加载 myproject.py 中的代码。但他没有设置启动目录。...): 保存文件后,记得"导入函数" 在 Excel 文件 myproject.xlsm 中,创建一个新的工作表(示例中名字为 Sheet2),执行这个公式: 到界面工作表,为 B1 单元格设置数据有效性

    5.5K50

    Excel自定义任意图表的通用模式

    但是,这两种作图方式都无法解决一个问题-任性,即结合业务实际需求随心所欲的制图。...因此,需要采取一种迂回的方式: 将Excel中需要制图的数据嵌入SVG,将该SVG图片导出Excel,接着再导回Excel的指定位置。数据更新后,自动删除当前SVG图片,再次生成新的SVG导入。...圆点条形图的例子中,内层的For语句,按照数据大小生成相应数量的圆;外侧的For对选中的每一行数据执行内层的For。 2....导出导入SVG图片 ---- VBA的前半段生成SVG图片后,通过以下简单语句导出为一个叫wu的SVG文件: Open "D:\wu.svg" For Output As #1 Print #1,...该代码有两个模块,首先删除当前工作表中的所有图片(代码前期分享过,可公众号搜索),接着调用四象限方块图这个宏。

    2.8K10

    撤销VBA对工作表的操作

    excelperfect 标签:VBA 当执行VBA过程代码后,如果想反悔,像在Excel中操作一样,使用Excel的撤销功能或者按Ctrl+Z来撤销VBA代码对工作表的改变,不会起作用。...这里,在jkp-ads.com中找到了代码,可以用来撤销VBA对工作表的操作。代码中,关键是两个类模块,创建了一个通用撤消处理程序,可以将其导入到任何项目。...类模块:clsUndoObject 这个类将“保留”必须更改的对象(因此可能会改回)。此外,对对象所做的任何更改都是在这个类中完成的。最后,这个类记录更改后的属性以前的值。...类模块:clsExecAndUndo 这个类将保存clsUndoObject类的所有实例的集合(简单地说:它将保存所有已更改的对象的列表,并知道如何撤消这些更改)。...这里的程序可以撤消的操作通常仅限于对对象属性的更改,无法撤消插入或删除工作表、刷新查询表、更新数据透视表等操作。

    29610

    VBA专题10-20:使用VBA操控Excel界面之隐藏和取消隐藏控件、组和选项卡

    可以在启动(当Excel开启时)动态设置值,可以在运行时改变它们的值(在使元素无效后通过使用VBA回调过程)。...例如,下面的示例XML代码和在标准VBA模块中的代码在运行时满足某条件时隐藏(和取消隐藏)“对齐方式”组: ? customUI元素包括带有Initialize回调过程的onLoad属性。...在Custom UI Editor中保存该文件,首次在Excel中打开时,会出现关于Initialize和HideAlignmentGroup过程的错误消息提示,因为这两个过程仍然没有在标准的VBA模块中找到...在标准VBA模块中的VBA代码: Public myRibbon As IRibbonUI 'Callback for customUI.onLoad Sub Initialize(ribbon As...在标准VBA模块中的VBA代码: Public myRibbon As IRibbonUI 'Callback for customUI.onLoad Sub Initialize(ribbon AsIRibbonUI

    8.1K20

    进击的恶意文档之 VBA 进阶之旅

    Office 版本历经十几年的变迁,现已趋于成熟,但仍存在着新老版本交替使用的问题。...可以删除源代码,并不影响宏的执行 2、P-Code: 与 VB 语言相同,VBA 同样有 P-Code,通过内置的 VB 虚拟机来解释 P-Code 并执行,平常我们 Alt+F11 打开所看到的正是反编译的...3、ExeCodes: 当 P-Code 执行一次之后,其会被一种标记化的形式存储在 __SRP__ 流中,之后再次运行时会提高 VBA 的执行速度,可以将其删除,并不影响宏的执行。...版本相同,则会忽略流模块中的源代码,去执行 P-Code 代码 官方文档解释 _VBA_PROJECT 流 ?...3、将所有文件再次压缩回一个 xlsm 文件 问题在于只有 excel 能弹出这种宏警告框,如何让 Word 也弹出类似的警告框呢?

    4.6K30

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

    2.注册表 对于与上述位置不同的加载项,Excel将在注册表中查找。当单击“浏览”按钮以查找加载项时,会在此处添加键。...如何使用VBA来安装Excel加载宏 编写一些简单的代码来启用加载项,弹出的消息框如下图5所示。...Excel可以打开此类文件,但无法安装zip文件夹中的加载项。并且压缩软件会在关闭后立即删除Temp中的该文件夹。然后,会在Excel中得到一个指向已安装加载项的指针,该加载项没有随附的xlam文件。...如果单击“否”,则会弹出另一个对话框,询问用户是否希望继续询问有关安装加载项的问题,如下图8所示。 图8 如果单击“是”,代码会存储该响应值,因此不会再次打扰用户。...使用OnTime方法使Excel有时间在启动安装过程之前执行其所有启动的一些工作: Private Sub Workbook_Open() Application.OnTimeNow, "'"

    5.3K20

    Excel编程周末速成班第24课:调试和发布应用程序

    excelperfect 主要内容: 了解程序bugs 避免程序bugs 使用VBA的调试工具 发布Excel应用程序 VBA提供了一些出色的工具来帮助你查找和修复程序bugs。...本课程将讲解什么是bugs、如何处理它们,并介绍一些与发布应用程序有关的因素。 调试应用程序 在发布Excel应用程序之前,对其进行充分调试很重要。...你也可以使用相同的技术来删除断点。带有断点的行在深色背景上显示为浅色文本,在相邻页边空白处显示一个圆圈图标,如图24-1所示。你可以根据需要在程序中设置任意多个断点。 ?...在中断模式下代码编辑 VBA使你可以在中断模式下修改代码。当你认为已发现问题并希望立即解决该问题时,此功能很有用。然而,进行一些编辑后,VBA无法从暂停位置继续执行,必须重置项目才能重新启动。...大多数bugs是由于变量取不正确的值和/或程序执行分支不正确造成的。 可以在程序中的任何位置设置断点,以强制程序在该点暂停。 当程序在中断模式下暂停时,可以单步执行代码以查找错误。

    5.8K10

    个人永久性免费-Excel催化剂功能第47波-VBA开发者喜爱的加密函数类

    ,不会写代码的人也没必要用自定义函数,文件分发出问题等等如此这般的回复。...第21波-Excel与Sqlserver零门槛交互-执行SQL 第22波-Excel文件类型、密码批量修改,补齐Power短板 第23波-非同一般地批量拆分工作表 第24波-批量发送邮件并指点不同附件不同变量...第38波-比Vlookup更好用的查找引用函数 第39波-DotNet版的正则处理函数 第40波-工资、年终奖个人所得税计算函数 第41波-文件文件夹相关函数 第42波-任意字符指定长度随机函数 第43...,正式推出了Excel插件,插件将持续性地更新,更新的周期视本人的时间而定争取一周能够上线一个大功能模块。...Excel催化剂插件使用最新的布署技术,实现一次安装,日后所有更新自动更新完成,无需重复关注更新动态,手动下载安装包重新安装,只需一次安装即可随时保持最新版本!

    3.2K10

    在Excel中调用Python脚本,实现数据自动化处理

    比如说自动导入数据: 或者随机匹配文本: 一、为什么将Python与Excel VBA集成?...但xlwings解决了这个问题,不需要你写VBA代码就能直接在excel中调用python脚本,并将结果输出到excel表中。...xlwings会帮助你创建.xlsm和.py两个文件,在.py文件里写python代码,在.xlsm文件里点击执行,就完成了excel与python的交互。 怎么创建这两个文件呢?...: 1、在.xlsm文件相同位置查找相同名称的.py文件  2、调用.py脚本里的main()函数 我们先来看一个简单的例子,自动在excel表里输入['a','b','c','d','e'] 第一步:...同样的,我们可以把鸢尾花数据集自动导入到excel中,只需要在.py文件里改动代码即可,代码如下: import xlwings as xw import pandas as pd def main(

    4K20

    Excel+Python,简直法力无边

    比如说自动导入数据: 或者随机匹配文本: 一、为什么将Python与Excel VBA集成?...但xlwings解决了这个问题,不需要你写VBA代码就能直接在excel中调用python脚本,并将结果输出到excel表中。...xlwings会帮助你创建.xlsm和.py两个文件,在.py文件里写python代码,在.xlsm文件里点击执行,就完成了excel与python的交互。 怎么创建这两个文件呢?...: 1、在.xlsm文件相同位置查找相同名称的.py文件 2、调用.py脚本里的main()函数 我们先来看一个简单的例子,自动在excel表里输入['a','b','c','d','e'] 第一步:...同样的,我们可以把鸢尾花数据集自动导入到excel中,只需要在.py文件里改动代码即可,代码如下: import xlwings as xw import pandas as pd def main(

    4.8K50

    vba新姿势,如何让vba的数据处理超越Python

    但是今天我要首先替 vba 说一句公道话,难道Excel数据处理任务的vba代码,真的不可能做到像 pandas 一样简洁直白吗?某些场景下,绝对可以!...vba 代码执行效率与原有的"数组+字典"一致 说白了,就是要提升 vba 的开发效率(写代码的时间) 与 保持执行效率(代码执行时间) ---- 在固定逻辑中,插入自定义逻辑 上一篇文章的后半部分已经说明了为什么...为什么python比vba更适合自动化处理Excel数据? 但是,vba 真的就不能做到"封装固定逻辑的同时,给予使用者放入自定义逻辑" 吗?...问题是排序只能对单元格区域,很多时候需求不是直接排序,或不希望改变原数据,这就导致你需要先输出单元格,排序后再放入数组,多了一些与分组没关联的操作 关键是,与需求相关的核心逻辑,是上图红框部分,就那么一小段的代码...以后你在新项目中要使用,只需要导入这个模块就可以。 这就是 vba 中实现插入逻辑的实现方式,非常简单。

    3.1K10
    领券