BtOfficer之VBVBAVBS系列概览(2021版)

BtOfficer之VBVBAVBS系列概览(2021版),第1张

光阴似箭,2021也在各种争吵中落下帷幕,开通自媒体账号也已有300天,这期间有落寞,也有惊喜。 落寞的是,VB家族的确已日薄西山 ,从大家的反馈中亦可窥见势微之一二。惊喜的是 在业余编程群体中,VB/VBA/VBS仍然是他们的最爱 。业余编程,要想产生更有价值的成果,专业概念(学习)是绕不过的。但 在极为有限的投入下(时间、精力、意愿),如何平衡简单粗暴与精细专深之间的矛盾?

VB家族从诞生之日起,就镌刻着计算机编程教育的基因。 很多人只看到了VB作为可视化编程的先驱,曾经红极一时,却看不到其真正的易用性和低门槛,在于骨子里的编程启蒙教育理念。 天下编程工具,多如牛毛,唯VB(BASIC)是为教育而生。 所以,VB系列极易上手。但 成也萧何败也萧何,VB家族的势微,也同样与其基因有关。

在BASIC和VB的时代,计算机编程尚是一野荒地, 编程是使用计算机的必经之路。 但随着 *** 作系统的崛起和完善,随着现代软件业的繁荣,编程已经发展成为一个令人瞩目的职业。人们使用计算机(PC、智能手机及其他终端设备),完全凭借一些观感就可上车,甚至横行霸道。 编程作为一个专业,无论是教育还是应用,都已发展成为一个极为成熟的产业。

在一个极细分工的现代 社会 里,需要的是专业的人做专业的事。 为非专业的人提供非专业的编程工具,逻辑上已发生了翻天覆地的变化。它 不再需要像若干年前那样直面代码,取而代之的是AI辅佐下的各种轻代码或奔自然语言编程,本质上是如何使用存量代码库的应用问题。所以, 轮子封装性不够的VB家族,败下阵来也在情理之中。

AI究竟会将人类带向何处?就目前而言还看不出端倪 ,至少在很长一段时间里,AI还是没有办法取代人类的主观能动性。 VB/VBA这种直面代码的业余方式,仍然是很多人最稳妥的选择。 所以BtOfficer将VB家族作为首推分享板块,具体理由已在过往文章中阐述过。 本着为广大非职业IT普及适用的IT技术框架,本文将过往文章(200多篇)分类整理于此(『《 蓝色 》』为链接样式,可点击查阅),以便各位取阅,为后续深入学习打下信心、概念方面的基础。

1、是什么促使BtOfficer要分享IT技术?

尽管有简单易用的Python和C#后来居上,但他们的概念体系仍然是建立在专业者的角度。纯现代意义的初学者语言,除了少儿编程外,几乎不再有生存的土壤。 造成这一结果的根本原因,在于专业编码的巨大存量。 很多人,包括专业编码者们或许都坚定地认为, 未来很长一段时间,传统码手的地位都不可动摇。

但事实并非如此(《AI写代码,来得让人猝不及防!》《程序员是怎么记住许许多多的语法的?》 可见一斑 ,在数据量尚未积累得足够庞大之前,凭经验谁也不知道还有哪些关系尚未被人类发现。尿不湿与啤酒的故事,就是 数据的规模化效应 之一。 世间万物之间,并非看得见的才叫因果,很多看不见的往往成为神论。然而,人类已经发现了通往神秘之门的钥匙。

一个个小小的人,以匹夫之勇在地表,举不足百斤,卧不过三尺,走不及风水。但聚众之力,可移山改川,可星辰大海,在广袤的地表和太空遍布文明的痕迹。人类的光芒,闪耀在遥遥太空之中。人类的触手正如藤蔓,一个锚点一个锚点地快速向前。 集众之智乃大智,这便是那把钥匙。

互联网AI便是 集众之智 ,即便硅基芯片不能真正地成为人工智能的栖身之所,攫取众人之智,已足以让其变得强大无比。然而, 这是人类整体层面上的某种进化,对于个体而言或许很难避免被“压榨”的过程 。 如何更全面、更客观地看待和适应自身的处境?或许《 互联的围城,已春暖花开,我却心向罗盘荒野 》可以告诉你。

该文首先,从AI的概念讲起,因为AI与互联网的合一,是二者在当前技术框架下,必然的进化方向,而AI正是关乎进化的关键。其次,讲AI与互联网的现实、进化,我等是如何自陷,又如何自救。摘自该文一小段的《 大数据能可怕到什么程度? 》获得了近40万阅读和近1000赞的成绩,但更全面的文章却仅有100阅读和3赞。 尽管数字世界里(包括以后的元宇宙),跨越边界成为特权,从而重塑传统边界的定义,但并不妨碍我们建设和守好现有的传统边界。因为二者并非『不是你死便我亡』的互斥关系。

众智与小智之间,应当各有各的生存空间,应当互惠互利,相互成就,而非一厢情愿。小智不能滥竽充数,坐享众智之便。众智之上的AI也不能恃强凌弱,奴役个体。这就是为什么BtOfficer要分享IT技术给广大非IT人员的原因所在。

2、为什么鼓励非IT适当掌握编程技能?

诚如华为任正非谈 公司人才体系 所说,作为管理者,你 不能要求每个员工都成为奋斗者 。有的员工就想领点工资按时上下班,你得容忍和尊重这样的员工。对于编程而言,并不是每个非IT都有必要来学,和愿意来学。即便学了的,也不是每个人都愿意更精进, 得尊重那些得过且过的存在。

所谓 有钱难买我愿意 ,即便互联网里高墙林立,即便智能手机上的APP都在觊觎个人隐私,能架住不用?如何平衡个体人的发展与人类整体发展之间的矛盾,也不是每个人必须要去思考和应对的。 所以,明知山有虎,偏向虎山行的都是少数派,毕竟佛度有缘人嘛。任何一位奋斗者所收获的,也绝非普通人所能想象的。不一样的风景,得有不一样的位置去观察。

在《 明比阅历浅,暗拼体力衰,指下讲武德,码上笑春风 》一文中,详细地分析了非IT人士是否需要掌握编程技能,掌握到何种程度,入门原则,入门工具的挑选原则,为何挑选VB系作为入门工具,如何开启编码武德之旅。

BtOfficer的经验证明,当1个专业人士掌握了地球上最通用的计算工具之后,可以将专业优势进行数倍的放大。无论是工作效率,学习效率,还是在整合人际关系上,均能受益不少。 这是在互联网包围下的个体,能够获得的为数不多的神器之一。

3、为什么偏偏首推VB/VBA/VBS作为业余编程的入门工具?

有人说,VB(包括BASIC)当年成为入门的不二法门,是因为没得选,而现今有更好的选择了。 这句话,既正确又不正确。它得考虑受众是谁?如果一个人有意愿,也有时间,为什么要学VB呢?成为编码专业人士的渠道千千万,但最后都离不开基础,与其在捷径中胡乱碰撞,还不如从基础开始一步一个脚印。

什么是基础?那是半导体工业体系历经上百年的沉淀。或许有人认为这么说很夸张,软件尤其是系统屏蔽了很多硬件层的东西,从而使得软硬件分离。事实上,就网上漂浮的绝大部分码手,离硬件都非常的遥远。但这并不能说,不懂硬件,不了解硬件就能做好这一行业。 恰恰是懂硬件者,才是基本盘的 *** 持者,微软、苹果、谷歌等概莫能外。

过来人都清楚,要 想掌握半导体工业在软件层的映射,绝非一朝一日之事 。专业人士,爬过高考,躺过本硕博,再经若干项目的锤炼,都不一定能成为行家。上过几十个IT素质教育课时的童鞋们,凭什么能成为IT专家?在不同基础层面来看, 有基础的可选项的确是多了,但对没有基础的人而言, 历史 的发展并未过多地偏向他们,留给业余人士的选项并未因此而增加。所以,地毯式的专业学习之路,压根就不适合业余编程选手。

4、VB/VBA/VBS分享定位在什么层面?

在分享期间,有不少朋友询问能否普及更基础一点的概念。VB/VBA/VBS的基础部分,网上有太多的资料,也有太多自媒体运营者在分享相关内容,再重复并无太多意义。所以这部分,BtOfficer 主要针对流行的一些错误进行纠正。反倒是VB/VBA/VBS很根底的内容,在网上很难见到,BtOfficer会着重围绕这部分进行分享。

在后续分享的 VB/VBA/VBS插件里,会包括更系统的基础知识,从语法语句到内置函数,再到API和具体应用源码案例,均以动态帮助的形式呈现给用户 ,有需要的届时可下载使用。

虽然,大部分内容适合有一定基础的朋友,比如讲原理的部分。但这并不意味着,分享的内容不适合初入门的人。 VB系大道至简, 再深入的东西,回到最后都是简单的语句和函数 。 针对语句用法用例上的结论,是通用的。掌握这些结论,便可不费吹灰之力就可提升代码的质量。 即便有些内容现阶段够不着,在往后的应用中,迟早都有见面的那一天。待到那时,翻出来看一看,想必会顺利很多。

更何况, 深入VB的部分(尤其是BtOfficer改进VB的部分),对绝大部分VB用户都是一样的,是一个全新的领域。 总之, 如果信哥,那就跟我走,必然会还你一个非同凡响的VB家族。

没有什么比过时、淘汰更能让人感到沮丧的了。尤其是对VB家族而言,没有前途的言论正在主宰着入门者清秀的眼神。 但很少有人去问,为何过了半个世纪,BASIC的后人依然在数千种开发工具中位居前20(据坊间流传的排行榜)。要知道,现在微软的GitHub Copilot可以根据功能注释自动补全(写)代码了。所以,有必要去一探究竟,为正确的选择提供充足的参考。

1、 *** 作系统与开发工具之间的关系

正如前文所说,现代开发工具,在 *** 作系统的加持下,让很多开发者能够远离硬件端,而成为纯软件开发者。网络上大部分争得面红耳赤的,都是没能遵循凡事看硬件的基本逻辑。相信很多人也不会去想, *** 作系统和开发工具之间的关系。那么《 以史为鉴,编程语言,启示录之系统觉醒 》将是一个不错的概览。

编程语言源自机械时代,随着硬件的进化完善,而不断演化。 从救人于水火的助记汇编、到专注于科学计算的面向过程,再到可扩展易维护的面向对象,无一不是硬件在推波助澜。就 个人计算机而言,硬件体系在32位时代,就趋于稳定。后续的64位,也只不过是锦上添花而已。 每一种计算机语言,都诞生于特殊的需求,并经不断完善,才有后来的样子。 这就意味着,每种语言都有长短之处。每个人的学习也应当有所侧重,追求全能,就像Multics,注定很难有结果。 没有过时的语言,只有趁手的工具。 现代 *** 作系统,将硬件层隔离,让应用开发者远离底层,这让 很多人误以为,语言决定一切。孰不知,高级语言只是硬件的传话筒而已,二进制指令才是机器上的唱歌的角儿。脱离硬件讲语言,知其一不知其二也。

2、BASIC、VB与VBNet和PC *** 作系统(Windows)之间的关系

现代常青的开发工具,包括C在内,都汲取了很多前人的智慧。所以,评估一项开发工具是否适合自己的技术路线,很有必要去了解这项工具的设计意图,当时技术的局限,以及后续的发展历程。《 VB前传,从教学到 游戏 ,再到系统,似乎每步都是精心设计 》一文便讲述了被淹没在 历史 中的那段过往。

与BASIC一脉相承的VB,吸收了计算机发展史上,数种优秀开发语言的优点,最终落脚于服务普通大众。因为心胸开阔的Kemeny和Kurtz深知,人才是计算机的灵魂和归宿,普通大众才能赋予计算机无限可能。BASIC的 历史 脉络,也告诉后继的使用者,简单里有深厚的哲学,抓住得住时机,才有自己的时代。

不必苛责VB什么,找到合适的位置,这是BASIC立足于教育,带给我们的启示。诚如Kemeny所说,关键要看用户能否意识到哪些是计算机可以做的,哪些是计算机不能做的。但很肯定,它能给企业和大部分私人生活带来影响。

如果说BASIC时代属于混沌的前者,那么VB就属于清醒的后者。《 早判了,VB已死,但我说话了么? 》一文将带你了解属于VB的哲学。在普通人通往程序之路上,VB就像摆渡人,接来一批又送走一批。 VB存世的意义,或许就在于既普世又度人。心清脑秀者,许你3%得道升华。资历平平者,也许你97%的凡人吃喝。

VB的世界里有自由的周全,也有刻薄的束缚。她试图让所有人都能踏进编程的世界,并在这个晦涩的世界里护其周全。她也总拿自由不是没有代价来告诫使用者,知其然还要知其所以然,到远方去才是 旅游 的意义。

正如《 VB/VBA,请让我点名表扬你 》所说,深入理解VB的 历史 ,仍是把握VB适用场景的关键。

3、VB过时淘汰之说蔚然成风,真实的信息是什么?

要说过时淘汰,很显然并没有,至少VBA还在大行其道。《 VB/VBA这个打不死的小强,还会坚持多久? 》一文,便围绕『语言之争』的若干问题,摆事实讲依据,就Python与VBA,VB与VBNET之间的恩恩怨怨来了个起底和辟谣。在这篇文章里,援引了微软针对VB在各大系统的支持政策。从中不难发现,所谓VB之死,不过是IDE停止更新罢了。所谓Python替代VBA,不过是一投票帖数千点赞而已。属于咱业余户的家伙事,会继续在Win10/Win11上演绎不老传说。

4、VB死掉的是什么,活下来的又是什么?

此时的VB和彼时的VB,所处的技术环境和商业环境是不一样的。如今VB势微,更多的是指商业开发领域的工作机会。《VB、Delphi等编程语言没落的主要原因有哪些?》或许可以回答VB过时淘汰的根本来源。

作为专业的高级开发语言而言,它必须在高级的路上不断的进化,才会有开发人员使用。大量开发人员的使用,才会降低项目的实施成本。相反,如果得不到进化,那么开发的人才资源,就会逐渐枯竭,从而提高项目的成本,进而影响项目的技术路线。 对于专业开发人员而言,掌握一项停止进化的的高级开发语言,就意味着工作机会的收缩。

但这对于一项可实施的技术而言,并不妨碍它继续工作。所以 这种落败,不是指技术,而是指就业机会的凋零。 就VB和Delphi而言,只要不用于糊口的工作,他们仍然是桌面应用开发的一把好手。正如《影响VB/VBA商业价值的原因是什么?》中所说,VB/VBA会逐渐演变成自产自用的小工具生产者角色。

5、打不死的VB,何以存活?

《为什么Windows的兼容性这么强大,到底用了什么技术?》,或许从系统的兼容特性,一直追溯到X86硬件体系,方能明白,小强不死,是有深层次原因的。

6、场景与前景

《Python取代VBA?先问C#答应否》《Office开发,选VSTO,还是VBA,Python行吗?》《VBA源码可以编译吗?》《VBA是脚本语言吗?》《Excel公式算编程?还别说,真是一门编程语言!》《VB/VBA的改进思考》《为什么VBA名列最讨厌编程语言第一名?》

《vb/vba的数据类型,有大佬可深度介绍下吗?》《VB的任性,从Variant开始》《VB的天地,横看成岭侧成峰》《VB的整数,你真的了解?》《知VBA的浮点数结构,更懂算力》《VB/VBA的无符号整数》《VB/VBA之Boolean的坑,防不胜防,治标还得治本》《VB中Byte、Bool和Int与Lng的开销及性能相同吗?》《VB/VBA字符串》《VB/VBA的ByVal和ByRef》《VB/VBA中Variant不仅是容器,充当传参的Any,更可以当函数用哦》《大家都有哪些提高VBA/VB代码运行效率的小技巧?》哎哟,太多了,懒得整理了,有兴趣的自己去翻吧。

欢迎关注BtOfficer(收藏、点赞、关注+转发) ,更多精彩仍在继续哦(专栏文章将更系统,更全面,但需要阁下支持哦),有严肃的技术,也有轻松的唠嗑,期待你的加入!

分类: 电脑/网络 >> 程序设计 >> 其他编程语言

问题描述:

希望在限定时间段内随机时间按某个键

例如:在500——2000毫秒内(时间随机)按1键、接着再过在1000——2000毫秒内(时间随机)按2键………………

我写了一个,但不执行延时:

KeyPress 49 1

Delay VBS Randomizeint int(Rnd(500)2000)

KeyPress 50 1

Delay VBS Randomizeint int(Rnd(1000)2000)

KeyPress 51 1

Delay VBS Randomizeint int(Rnd(10000)18000)

KeyPress 52 1

Delay VBS Randomizeint int(Rnd(1000)2000)

KeyPress 53 1

Delay VBS Randomizeint int(Rnd(500)1000)

希望高手帮忙

解析:

试试看吧

VBS randomize

VBS t1 = int(rnd 1500 + 500)

VBS t2 = int(rnd 1000 + 1000)

VBS t3 = int(rnd 8000 + 10000)

VBS t4 = int(rnd 1000 + 1000)

VBS t5 = int(rnd 500 + 500)

Delay t1

KeyPress 50 1

Delay t2

KeyPress 51 1

Delay t3

KeyPress 52 1

Delay t4

KeyPress 53 1

Delay t5

rem 若网线被拔,则进入自动关机倒计时,“-t 30”是倒计时的时间

Dim Wsh,objWMIService,colMonitoredEvents

Set Wsh = WScriptCreateObject("WScriptShell")

Set objWMIService = GetObject("winmgmts:\\\root\wmi")

Set colMonitoredEvents = objWMIServiceExecNotificationQuery("Select from MSNdis_StatusMediaDisconnect")

Do While True

Set strLatestEvent = colMonitoredEventsNextEvent

wscriptsleep 3000000 '延时五分钟 5 60 1000

Wshrun "shutdown -s -t 30 -c "&chr(34)&"系统网络断开,机器即将关闭"&chr(34)

Loop

Set shell=WScriptCreateObject("wscriptshell")

ip="12001"

Set pingResult=shellExec("cmd /c ping "&ip)

splistStr=pingResultStdOutReadAll

If InStr(1,splistStr,"%",1)<>0 Then

'lost=Split(Split(splistStr,"(",-1,1)(1),"%",-1,1)(0)

'//////////////////////////////////////////////////////////////

'ping 失败的结果

'1001 的 Ping 统计信息:

'数据包: 已发送 = 4,已接收 = 0,丢失 = 4 (100% 丢失),

''//////////////////////////////////////////////////////////////

'

'1270011 的 Ping 统计信息:

'数据包: 已发送 = 2,已接收 = 2,丢失 = 0 (0% 丢失),

'往返行程的估计时间(以毫秒为单位):

'最短 = 0ms,最长 = 0ms,平均 = 0ms

''//////////////////////////////////////////////////////////////

'根据以上结果,我觉得只要判断是否含有“往返行程的估计时间”字符串存在就可以了

If InStr(1,splistStr,"往返行程的估计时间",1)<>0 Then

MsgBox "可以ping通"

Else

WScriptQuit

End If

Else

'ip书写有误

WScriptQuit

End If

以上就是关于BtOfficer之VB/VBA/VBS系列概览(2021版)全部的内容,包括:BtOfficer之VB/VBA/VBS系列概览(2021版)、按键精灵中VB语句、懂VBS脚本进来看看赏分100等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9697639.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存