在此特别说明,这里发布的文章仅仅为学习笔记,略去了书中一些我认为无关紧要的文字,或者稍作修改,并且有些地方加上了我自己学习感悟,有兴趣的朋友可以对照原书研读。此外,如有侵权,留言告知,我会删除。...要编写VBA代码或PowerQueries,只需启动Excel并分别打开VBA或PowerQuery编辑器即可,但是在使用Python之前,需要做一些工作。...还记得在上一章提过的Python之禅吗?现在,你可以阅读完整版本,了解Python的指导原则(包括微笑)。...只需在命令行中键入下面的语句后按Enter键即可运行: >>>import this 要退出Python会话,键入quit(),然后键入Enter键。...Conda环境是一个单独的“Python世界”,其中包含特定版本的Python和一组已安装的具有特定版本的软件包。为什么这是必要的?
这两天在折腾给一个项目打安装包,第一次接触软件打包,用的Advanced Installer(以下简称AI),应该说如果安装过程没有特殊动作(常规动作指释放文件、写注册表、建快捷方式等)的话,倒挺傻瓜的...但我的安装动作包括: - 提供一个ComboBox列出已安装打印机让用户选择 - 让用户填写一些初始参数并在安装完成后把这些参数写入安装目录中的指定ini和xml文件中 第一个需求就折腾了我大半天,难点在于动态填充...ComboBox项,资料和文档不好找,又是E文,好在天道酬勤,愣是让我在官方论坛中刨到有用的帖子,总算搞掂,或者我会另开一文说说如何做的,以助后来者。...CLR,我安装过程求的就是顺畅,为了一个简单任务就要等待CLR启动,即便只是一两秒,也是我不能忍受的;二来,即便我有信心短时间内学会另一门非托管语言(delphi/c++啥的)来完成这个简单任务,但exe...,故暂存疑),网上高人的办法有二:一是用vbs调用office的vba组件,再操作vba来调用api~真叫一个迂回,同时也感叹高人的智慧呐;二是往系统中扔一个dynwrap.dll就可以调了,话说这dll
自动化控制 Excel,我认为 vba 是目前最好的平台。但是 vba 的数据处理能力实在有限(别把表格处理与数据处理混淆)。...你在不懂原理的情况下,很多问题都无法自己解决。 接下来我将讲解其运行机制的直觉理解。...---- 直觉理解运行机制 目前为止,我们没有编写一句 vba 代码,只是简单定义出一个加载数据的 Python 自定义函数,就可以在 Excel 上使用公式实现效果。...从步骤上来说: 定义 Python 自定义函数(在文件 myproject.py 中) 点击"导入函数"的按钮(在 Excel 文件 myproject.xlsm 中) 那么为什么需要点击 "导入函数"...这问题由于 xlwings 在执行 vba 的方法时,会启动一个 Python 进程(只有首次运行的时候),然后加载 myproject.py 中的代码。但他没有设置启动目录。
的第二部分,讲解了Python的优势,使之成为Excel的最佳搭档。...这就是为什么Python之禅中有一行是“可读性很重要”。..."i在5与10之间" Else Debug.Print "i大于10" End If 在VBA中,可以将代码段重新格式化为完全等效的以下格式: If i 的源获取数据,可以安装Requests包来访问一组功能强大但易于使用的命令。要安装它,可以使用Python的包管理器pip,它可以在命令提示符或终端上运行。...这就是为什么几乎所有积极开发的语言都引入了try/catch机制,在Python中称为try/except。
有时候,我们可能想要从Python运行Excel VBA宏,特别是当想要运行已有的Excel宏时,这很有用——甚至可以在不打开Excel文件的情况下执行这些VBA宏。...注意,要安装py32win库,在命令提示符下键入以下命令: pip install pywin32 然而,要在Python中导入该库,则其名字成为win32com.client: import win32com.client...Excel VBA宏 下面是一个非常简单的Excel VBA宏,它接受一个参数,在工作表Sheet1的单元格B2中输入一条问候语。...然后,打开这个包含VBA宏的Excel文件,并将其赋给变量wb。...:包含VBA的文件,这里不需要包括完整路径。 2.模块1:包含宏的模块名。 3.mymacro("完美Excel"):宏名,注意到这里传递参数到VBA。
标签:VBA,自定义函数 在VBA中处理日期会有些麻烦,当试图将字符串转换为日期时,可能会遇到意想不到的结果,例如: —日期、月份和年份可能会被无意中交换或更改。...—通常认为不正确的日期格式实际上可能被VBA认为是有效的。 示例1: DateSerial函数参数总是按以下顺序排列:年、月、日,这是一件好事,因为我们不会感到困惑。...'在该函数中, 什么是有效日期具有以下标准: '年份必须是2或4位数字或为空. 如果它是两位数字, 那么它前面将加上"20".如果它是空白的,那么它将是今年....,什么是有效日期具有以下标准:年份必须是2位或4位数字或为空。...例如,假设有一个文本框(在工作表中),希望用户输入dmy格式的日期,然后按命令按钮将日期输入到单元格A1。
二、把超链接转换成对应网址的3个方法 网上有很多方法实现超链接转换,我分享3个自己尝试的方法,前2个都失败了,最后1个是成功的。...这种方法只适合转换超链接数量较少的情况,我在尝试过程中失败了。...第二个方法我尝试下来还是失败了…… 3 方法三:自定义VBA函数转换 第三个方法是自定义VBA函数进行转换。...右键单击【工程资源管理器】窗口,将鼠标指针移动至【插入】选项,左键单击二级菜单中的【模块】选项,插入【模块1】,并将以下代码复制粘贴到【模块1】的代码窗口后,最后关闭Visual Basic编辑器。...step2:右键单击【工程资源管理器】窗口,将鼠标指针移动至【插入】选项,左键单击二级菜单中的【模块】选项,插入【模块1】,并将以下代码复制粘贴到【模块1】的代码窗口后,最后关闭Visual Basic
看到11项更新命令,需要更新什么即键入相关命令即可比如更新web相关的工具键入命令: Update webapplication 盒子会自动开始从github请求,坐等更新结束即可 针对update...BeautifulSoup4 在我的测试上发现这个方法并未成功 爆出错误未找到相关版本 ?...保存即可 这时控制端输入python即可使用python27,为什么命令不是python27 貌似是会与盒子原本的py26环境产生冲突,我们进入代码之后它默认开启的是py27,盒子所存在26版本也会被更替为...说到导入后python命令,我就顺便补充一下安装外工具命令 针对ruby脚本使用以下命令(以wpscan做例子) 同理,针对ruby脚本使用以下命令(以wpscan做例子)...取消对Monospace(间隔)的勾选,后面参数保持一致16/0/0 ? 恢复正常。不过这也倒不影响使用。 目前为止遇到的坑暂时就这么多,其他遇到的今后在作补充。以上坑皆为偶亲自尝试过的。
还记得某天上传 GitHub,打算摸索维护下自己的东西,突然提示如下: 突然想起曾经的某天,兴致勃勃的打算将自己到目前为止收集的资料整理上传 GitHub,But,折腾 n 长时间没能搞定,尴尬的要死,...随后打开 Mac 神器,iTerm 2,键入如下命令行: brew install git-lfs 操作示意图如下: 当然,你可以检验下当前 Git LFS 是否成功安装: git lfs install...Step 2:更新当前 Git LFS 版本 有的小伙伴可能疑问了,我刚刚下载下来的,为什么还要更新呢? 很 Easy,我遇坑了,坑的原因就是因为当前下载的 Git LFS 版本忒低。???...键入如下命令更新 Git LFS: brew update && brew upgrade git-lfs 随后查看当前更新后版本,操作图如下: Step 3:配置 Git LFS 大文件关联 同理...iTerm 2 中键入如下命令: git lfs track [your file name] 生成 .gitattributes,也就是当前大文件(超过 100 MB)快照。
「单元格F4」,它的值是6;「*」我也认识,在VBA中表示「相乘」;「Cells(x,8)」表示「单元格H4」,它的值是5;「+」我认识,表示「相加」;「h1」我不认识,那它就是变量,我要新建一个名叫h1...所以,其默认为0,也就最终酿成了一开始的大型事故翻车“命案”之VBA侮辱人类智商事件。 有同学可能就问了:猴哥,说了这么多,这和我们今天的「强制申明」,有什么关系?...所以,结合这个特点,在VBA里使用「强制申明」,主要由以下3个主要优点(小本本记下来,我们下期考): (1)正确使用「强制申明」能够帮助我们快速定位错误代码,发现错误; (2)正确使用「强制申明」能够提升程序的运行效率...然后,然后就酿成了一起起杯具的“惨案”。别问我为什么,我经常这样干,而且发生了很多“命案”。 原因是由于同名变量在VBA不同的地方被赋新值,从赋新值开始的地方,其后所有的代码都会引用这个新值。...(手动狗头.jpg) 只需一句代码,就能让你解决上述问题 image.png 是的,我们在原来的代码中新增「Const k = 50」这句代码,就是告诉VBA要记住以下2点: (1)该段代码我定义了
,我的建议是:在编写VBA代码时,不要走捷径。...如果有就不要使用goto(我在VBA开发中就从未使用过goto语句)。...3、编译器是在浪费时间 和其它编译器不同,VBA编译器不会生成一个可以脱离Office独立执行的模块,相反,VBA编译器实际上是一个语法检查器,在真实运行之前,编译你的代码是捕捉语法错误简单有效的方法...,你为什么要这么做呢?...7、不会有任何空值 无论你采取什么措施,空值总是带有破坏性,如果你正确地处理空值,程序将会更稳定,VBA提供几种工具来发现和处理空值。
第二部分:自动化Excel 运行以下Python脚本,它将打开一个新的Excel实例。...接着,在Excel中按Alt+F11组合键,打开VBA编辑器。 在VBA编辑器中,单击菜单“工具->引用”,找到并选取“xlwings”前的复选框,如下图10所示,然后单击“确定”按钮。...在右侧的代码窗口,输入以下VBA代码。...图12 注意到,当键入函数时,square实际上会显示在函数列表中——我们可以像使用Excel内置函数一样使用Python函数,并且可以将单元格引用传递到函数中。...2.键入用户定义的函数时,单元格中会显示“Object Require”(对象要求)。确保在VBA编辑器菜单“工具->引用”中选取了“xlwings”,并将更改保存到相应的Excel文件中。
我们无须在VBA代码中硬编码条件,我们可以构建一个新表,其标题与数据区域中的标题相匹配,然后,将筛选需求添加到此表中。第I列和第J列显示了新表,如下图2所示。...到目前为止,要求AdvancedFilter筛选Range(“A:G”)中包含“Pittsburgh”的所有条目。这是一个简单的单列对“City”的筛选。 该区域包含标题/字段和条件本身。...条件区域中的空行将匹配所有数据记录,这不是我们想要的。相反,Excel将空白单元格(此处为J2)解释为任何值。由于J2在此处为空,因此所有金额(Amount)均有效。...需要手动键入所需的标题名称,以便AdvancedFilter宏知道要粘贴哪些标题,这正是我们在下面浅蓝色中所做的。...键入这些内容后,VBAAdvancedFilter方法将知道所需的数据列,并自动将符合筛选条件的结果复制到该位置。
笔记本单元格 在图2-3中,可以看到一个带有闪烁光标的空单元格。如果光标不闪烁,用鼠标点击单元格,即在[]的右侧。...在本例中,它在下面插入一个空单元格,因为到目前为止我们只有一个单元格。更详细一点:当一个单元格在计算时,它显示在[*]中,当它完成时,星号变成一个数字,例如在[1]中。...接下来,我将以这种格式显示代码示例,例如,前面的REPL示例如下所示: In [1]: 3 + 4 Out[1]: 7 当通过按Shift+Enter来运行它时,将获得我在Out[1]下显示为输出的内容...将空单元格更改为Markdown单元格后,键入以下文本,其中解释了一些Markdown规则: # 这是第一级标题 ## 这是第二级标题 你可以使你的文本为*斜体*或**加粗**或'等距' * 这是一个项目符号点...命令模式 要切换到命令模式,按退出键(ESC);选定的单元格周围的边框将为蓝色,并且不会有任何闪烁的光标。在命令模式下可以使用的最重要的键盘快捷键如下表所示。
而我本人一直保持一个观点,各种工具都有他的优劣势,抛开应用场景单纯说某个工具更好都是在耍流氓。今天,我就举例说明一下,哪些场景适合vba,哪些场景适合python。...初学者往往误以为操作 Excel 就是在处理数据,实际上是两回事。 需求是:"姓名与住址列内容通常很长,希望最终Excel显示的时候,使用缩小字体填充"。 对于这种格式化设置,vba绝对是最佳选择!...---- vba 使用数组+字典,就是高效率? 大部分不经思考,张口就反对 python 的同学,都是对自己的 vba "数组+字典" 的技能有着迷之自信。...以下尝试用vba解决: 其实代码不算多,里面的技巧也只是基础,但是如果会 pandas 的同学心里肯定会说:"太繁琐了"。...如果换成是 sql ,就非常简洁 vba 的实现太麻烦了,就留给那些不服气的 vba 粉丝吧 现在你大概能够稍微理解,为什么 Python 在数据领域这么受宠了。
我为什么选择Windows系统: 其实我们没有必要过多纠结与到底使用Linux系统还是Windows系统来学习TensorFlow,因为不管是那个系统我们关注更多的还是框架本身的学习而已。...Linux对于TensorFlow的支持一定是好过Windows的,但是作为一个初学者而言,它具体好在哪里在初期的学习阶段可能也不大能体现出来,再加上我对Linux系统并不熟悉,所以选择了更小的学习成本开始...CUDA环境搭建需要依赖电脑的GPU,我们需要先查看GPU版本: ? 我电脑的GPU型号为GTX 960M,其计算能力为5.2,GPU的计算能力可以在NVIDIA官网查看。...Anaconda3-4.2.0,该版本的Anaconda安装的才是Python3.5,而到目前为止TensorFlow在Windows下只能用Python3.5版本。...在cmd中键入: activate tensorflow,以激活conda环境: 激活之后,cmd命令行的前面会有一个写着tensorflow的括号。 ?
在数据库中,有一个命令的表,还有一个参数的表,先到命令的表中去查询这一个设备有哪些命令,比如说,摄像头有一个转动的命令,那么就要把转动这个命令动态的拼接成EasyUI的Button按钮,然后根据命令去查询这个命令下的参数...,比如说,转动是有角度的,10°,20°……,这个度就是命令下的参数,然后动态的拼接成text或者combobox的样式。...下面就把代码展示一下,B层和D层都是简单的查询,返回的是DataTable,然后我在B层加了一个转换的类,将DataTable中的数据转换成前台要显示的Json串。...#region GetDeviceFuncParJson 动态拼接设备控制下的命令和参数 ''' ''' ''' 动态拼接设备控制下的命令和参数'''...>''' public static string GetDeviceFuncParJson(DataTable dt) { '''定义两个空的字符串类型
系列列表 "替代Excel Vba"系列(一):用Python的pandas快速汇总 前言 在本系列的上一节已经介绍了如何读写 excel 数据,并快速进行汇总处理。...今天,我就沿用上一节的数据,把需求升级一下,以解决上述的疑点。...[总分]列为判断依据 导入包 本文所需的包,安装命令如下: pip install xlwings pip install pandas 脚本中导入 本文只说重点细节,至于如何从 excel 中读取数据...其实我是通过录制宏来得到。如下: 完整代码 以下是完整的代码: 本节就不再上 vba 代码了(没人愿意写~~)。...彩蛋 目前为止,我们只是在用 Python 做数据处理,很多时候我们还会使用 excel 做分析。下一节就会对目前的数据做探索分析,敬请留意。 总结 通过本文应该可以解答之前的一些疑惑。
因此,我挑选出大家最常遇到的问题,给出了通用性的解决方案,以及常见报错信息的排查方式。 本文教程是在 Windows 平台下操作的,Mac OS X 和 Linux 平台操作大体相同。...本地 Git 命令创建生成 SSH key 打开终端命令行工具,输入以下命令: ssh-keygen -t rsa -C "youmaIl@mail.com" 其中"youmaIl@mail.com"部分...键入回车后出现这个提示,可以设置为空,直接回车就好 这个步骤类似与网站注册时的设置密码和重复密码十分相似,设置两次密码,防止出错,这样就很好理解了。 再次提示依旧是回车,选择为空。...键入命令 ssh-agent 回车,发现没有提示,此时说明命令是生效了。...如果你喜欢本文,可以在文章下方互动评论,你的支持是我创作的最大动力。 (本文是【技术创作101训练营】参赛作品,创作内容版权归作者所有,转载请注明出处。)
为什么?且听我道来。 VBA是什么? VBA是一种内嵌于MicrosoftOffice中的一种编程语言,可以方便地实现工作任务自动化。(注:很多其他软件中也内嵌有VBA,例如著名的AutoCAD。)...从在Excel 5中推出的第一个版本起,VBA的存在将近30年。无论你是否学习过编程,这都是一种非常容易学习的编程语言,并且能够快速应用到具体的工作场景中。 为什么学VBA?...我想,也许是VBA运行已经很平稳,不会给Excel带有问题,而且使用VBA开发的Excel应用也没有遇到问题。...如果VBA给Excel带来问题或者在Excel版本更新后以前使用VBA开发的应用遇到了很多问题,我想Microsoft一定会对VBA进行更新的。 取代VBA的会是谁?...---- 微信公众号本周推送的文章 本周的文章仍然侧重于Excel公式和操作技巧,7篇文章名和链接如下: VBA专题10-4:使用VBA操控Excel界面之设置工作簿视图和窗口 社群答疑精选01:不重复数据统计
领取专属 10元无门槛券
手把手带您无忧上云