如何学习VBA_3.2.19:利用Shell函数运行可执行程序

我给VBA的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的劳动效率,而且可以提高数据处理的准确度。我推出的VBA系列教程共九套和一部VBA汉英手册,现在已经全部完成,希望大家利用、学习。

如果您只是一般的职场VBA需求,可以打包选择7.1.3.9教程+汉英手册,第7套教程是入门,第1套教程是入门后的提高,第3套教程字典是必备的VBA之精华,第9套教程是实用的典型案例讲解。这四套教程内容掌握后足以处理一般工作中的问题,实际写代码的时候再辅助代码汉英手册,足矣!如果您想进一步提高,就需要选择高级阶段的教程了

VBA是面向对象编程的语言,博大精深。很多朋友咨询VBA的学习方法,我会陆续给大家讲解一些我的经验,大家可以慢慢体会。今日的内容是:如何学习VBA_3.2.19:利用Shell函数运行可执行程序6abd5b827a5b91b8bea778d9e245230e.jpeg

【分享成果,随喜正能量】喝茶,喝的是日月沐浴之下,山泉滋养之中,一年四季流动的自然之气。喝茶,就是让我们跟随这种草木之性,真正将自己还原到自然之中。。

3.2.19 几个特殊功能的实现

在VBA的应用中,我给大家讲解了几个有意思的应用:1 VBA实现定时关机;2 如何暂停代码的运行;3 利用代码让程序延时;4 如何让VBA做到自毁程序;5 数据的校验。

大家看下面的几句代码:

① Shell ("Shutdown.exe -s -t 30")

② Application.Wait Now() + VBA.TimeValue("00:00:01")

③ Private Declare PtrSafe Sub

④ Remove .Item(vbc.Name)

⑤ Private Sub object_KeyPress( ByVal KeyANSI As MSForms.ReturnInteger)

为了更好地方便大家理解教程中的讲解,我就几个关键点给大家加以介绍;

Shell 函数:运行可执行程序并在成功时返回表示程序的任务 ID 的 Variant (Double);否则返回零。

语法:Shell(pathname, [ windowstyle ])

参数:

1)pathname 必需;Variant (String)。要执行的程序的名称以及任何必需的参数或命令行开关;可能包括目录或文件夹和驱动器。在 Macintosh 中,可以使用 MacID 函数指定应用程序的签名,而不是名称。 以下示例使用 Microsoft Word 的签名:Shell MacID("MSWD")

2) windowstyle 可选。与要运行程序的窗口的样式对应的 Variant (Integer)。如果省略 windowstyle,则在最小化焦点的情况下启动程序。在 Macintosh(系统 7.0 或更高版本)上,windowstyle 仅确定程序在运行时是否获得焦点。

其中windowstyle 命名的参数具有以下这些值:

vbHide 0 窗口将隐藏,并且焦点将传递给隐藏窗口。vbHide 常量在 Macintosh 平台中不适用。

vbNormalFocus 1 窗口具有焦点且还原为其原始大小和位置。

vbMinimizedFocus 2 窗口将显示为具有焦点的图标。

vbMaximizedFocus 3 使用焦点最大化窗口。

vbNormalNoFocus 4 窗口将还原为其最新的大小和位置。当前活动窗口仍保持活动状态。

vbMinimizedNoFocus 6 窗口将显示为图标。当前活动窗口仍保持活动状态。

    • 如果 Shell 函数成功执行命名文件,它将返回已启动程序的任务 ID。 任务 ID 是标识正在运行的程序的唯一编号。 如果 Shell 函数无法启动指定的程序,则会发生错误。
    • 在 Macintosh 中,vbNormalFocus、vbMinimizedFocus 和 vbMaximizedFocus 都将应用程序置于前台;vbHide、vbNoFocus 和 vbMinimizeFocus 都将应用程序置于后台。

其他:对于数据的校验,有些学员会利用正则运算,这块的内容在我的第六套教程及第九套教程中会有介绍,但在VBA中一般总会有其他的方案替代;关于64位的API函数声明语句,我在第六套教程中也有讲解,如果大家有需要,我会提供一份专门的资料给大家。

a12934234b98d01b14bc5321fecbdc00.jpeg

我20多年的VBA实践经验,全部浓缩在下面的各个教程中:


5767ccea751c81a5a7b0b09ff19edf92.jpeg

b6a6ee9f42e2c5929515a61cd5a3b5ec.jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/769400.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

模型权重下载方法

下载方法1:git lfs下载 1、在hf-mirror.com中搜索模型,如搜索text2vec-large-chinese, 点击模型进入页面:https://hf-mirror.com/GanymedeNil/text2vec-large-chinese/tree/main 2、git lfs install 3、git clone https://hf-mir…

【暴刷力扣】11. 盛最多水的容器

11. 盛最多水的容器 题目 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明&#xf…

leetcode216组合总和III

本题思考: 对于输入样例k3,n9 输出里面为什么只有 [[1,2,6],[1,3,5],[2,3,4]]而没有下图所示的重复情况出现呢? 当时代码写错了,思考许久不得解,后面经过仔细对比代码之后发现是我的代码出现了逻辑错误,而正是这一关键…

前端Webpack5高级进阶课程

课程介绍 本套视频教程主要内容包含React/Vue最新版本脚手架分析、基于Webpack5编写自己的loader和plugin等,让你开发时选择更多样,最后,用不到一百行的代码实现Webpack打包。通过本套视频教程的学习,可以帮你彻底打通Webpack的任…

node.js是什么怎么用常用方法

什么是node.js Node.js是一个基于Chrome V8 JavaScript引擎的服务器端运行环境。它允许使用JavaScript来开发高性能的网络应用程序。Node.js采用事件驱动、非阻塞式I/O模型,使其能够处理大量并发请求而不会出现阻塞。 Node.js最初是由Ryan Dahl于2009年创建的&…

Go——指针和内存逃逸

区别于C/C中的指针,Go语言中的指针不能进行偏移和运算,是安全指针。 要搞明白Go语言中的指针概念需要先知道3个概念:指针地址,指针类型和指针取值。 一. Go语言的指针 Go语言中的函数传参都是值拷贝,当我们想修改某个…

新台阶——蓝桥杯单片机省赛第十四届程序设计题目

在做十四届题目之前,常常听学长说,十四届以前拿省一真的是右手就行,并不相信,在经历十四届痛苦的大量修bug和优化之后,或许学长的话真说对了几分。话不多说,我们开始一起完成单片机第十四届程序设计题目。 …

简单几步为APP搭建移动直播功能——智密腾讯云直播组件简介

随着5G移动网络技术的成熟,视频直播已经不再局限于 WIFI 环境下。即使在户外,当前的4G和5G信号覆盖也足够支持用户观看直播,并在直播间进行留言、连线、点赞和赠送礼物。因此添加直播功能就是现在很多已上线的APP中比较广泛的需求。 在目前的…

Linux环境基础开发工具yum,vim使用

目录 1.Linux 软件包管理器 yum1.1什么是软件包1.2关于 rzsz1.3注意事项1.4查看软件包1.5如何安装软件1.6如何卸载软件 2.Linux开发工具2.1Linux编辑器-vim使用2.1.1vim的基本概念2.1.2vim的基本操作2.1.3vim正常模式命令集2.1.4vim末行模式命令集2.1.5vim操作总结 2.2简单vim配…

删除数组中的指定元素(了解如何删除数组中的指定元素,并返回一个新的数组,看这一篇就足够了!)

前言:有时候我们会遇到要在数组中删除指定元素,但是不能创建新的数组,那么这个时候应该如何操作呢? ✨✨✨这里是秋刀鱼不做梦的BLOG ✨✨✨想要了解更多内容可以访问我的主页秋刀鱼不做梦-CSDN博客 废话不多讲,让我们…

RuoYi-Vue-Plus(登录流程-验证码生成)

一、登录流程 1- 进入登录页面,调用 com.ruoyi.web.controller.common.CaptchaController 类中的 captchaImage 方法,生成base64的图片 以及 UUID 2- 提交 登录信息 验证码 uuid 比对 错误:返回错误信息,删除缓存的验证码 成功…

「MySQL」数据库约束

🎇个人主页:Ice_Sugar_7 🎇所属专栏:数据库 🎇欢迎点赞收藏加关注哦! 数据库约束 🍉约束类型🍌NOT NULL🍌UNIQUE🍌DEFAULT🍌主键🍌外键…

layui框架实战案例(25):laydate中mark的数据后端生成

mark,自定义日期标记。该属性是对 calendar 属性的进一步延伸,灵活度更高。属性可批量设置多个日期标记,如: mark: {0-10-14: 生日, //每年每月的某一天0-0-10: 工资, // 每月 10 号2008-8-8: 开幕, // 指定的日期 }其中日期的格式…

【微服务】Spring Boot 版本升级到 2.7.18

前言 目前项目上扫描出一些 Java 依赖的代码漏洞&#xff0c;需要对现有依赖版本升级&#xff0c;记录一下遇到的问题。 <spring-boot.version>2.3.2.RELEASE</spring-boot.version> <spring-cloud.version>Hoxton.SR9</spring-cloud.version> <s…

《Python编程快速上手——让繁琐工作自动化》实践项目——Collatz序列

题目&#xff1a; 编写一个名为 collatz()的函数&#xff0c;它有一个名为 number 的参数。如果参数是偶数&#xff0c;那么 collatz()就打印出 number // 2&#xff0c;并返回该值。 如果 number 是奇数&#xff0c;collatz()就打印并返回 3 * number 1。 然后编写一个程序&a…

亚马逊服务器ssh以及scp

ssh awspass.pem为创建服务器时创建的密钥&#xff0c;ubuntu用户 ssh -i "awspass.pem" ubuntuipscp scp -i "awspass.pem" -r dist/* ubuntuip:/home/ubuntu/

菱形继承的问题以及解决方法

大家好&#xff1a; 衷心希望各位点赞。 您的问题请留在评论区&#xff0c;我会及时回答。 菱形继承概念 两个派生类继承同一个基类 又有一个类同时继承这两个派生类 这种继承被称为菱形继承&#xff0c;或者钻石继承。 基类A同时派生出类B和类C&#xff0c;派生类D又同时继…

git实战,还在苦苦挣扎,看这篇GIt实战以及安装配置案例就够了!!!

GIT实战及代码案例 GIT是一个开源的分布式版本控制系统&#xff0c;它可以帮助我们有效地管理代码版本、协作开发以及追踪代码的变更历史。在实际工作中&#xff0c;熟练掌握GIT的使用技巧能够大大提高开发效率&#xff0c;减少团队协作中的冲突。下面将详细介绍GIT的实战应用…

基于ARM 的Linux系统的交叉编译

返回&#xff1a;OpenCV系列文章目录&#xff08;持续更新中......&#xff09; 上一篇&#xff1a;在 MacOS 中安装 下一篇&#xff1a;MultiArch与Ubuntu/Debian 的交叉编译 警告 本教程可以包含过时的信息。 此步骤已在 Ubuntu Linux 12.04 上进行了测试&#xff0c;但应…

Java学习笔记——集合类学习

有一个经典的说法&#xff1a;算法数据结构 程序&#xff0c;数据结构是计算机存储、组织数据的方式。说到数据存储&#xff0c;首先会想到的应该是数组&#xff0c;不过数组存储的数据是有固定长度的&#xff0c;而且Java中&#xff0c;对数组中的数据进行增加、删除操作比较…