RA人:自学编程那些事儿(一)

文摘   2024-11-19 07:00   上海  

最近几年,药品注册申报工作全面电子化,以前打印、装订、快递等工作逐步被Windows,DMS,Word,PDF,eCTD出版工具中的工作所替代。小格之前和大家分享过一些自己开发的iReg小程序,很多朋友反馈对提升工作效率很有帮助,也有朋友希望自己也能学习一门编程语言,以便开发自己的小程序来实现自动化。所以把之前的这篇文章略做修改和更新,重新推送给大家。


小格本人是在2011年因为一个项目的需要,从VBA开启自己的编程之旅,这里先和大家介绍一下VBA。


Visual Basic for Applications(简称VBA)是新一代标准宏语言,是基于Visual Basic发展而来的。VBA 提供了面向对象的程序设计方法,可以用很少的代码实现Excel、Word、PowerPoint、Outlook、Access的自动化,同时,作为微软的“亲生儿子”,VBA在Windows平台也是左右逢源,可以批量操作文件、文件夹,可以访问注册表,可以调用Window API等等。VBA还有一个巨大的优势,可以通过宏录制功能,把在Office中的操作“录制 ”为VBA代码,对录制的代码进行改造,就可以满足自己的需要,否则,自己学习Office组件所有的对象模型,学习曲线是非常陡峭的。


VBA程序员大部分都不是职业程序员,都有着自己的专业领域,正因如此,他们熟悉自己专业领域的需求和痛点,然后通过VBA来实现自动化,这是他们的巨大优势。


介绍完毕了,那么如何自学呢?如果大家喜欢看书,向大家推荐Excel Home编著,北京大学出版社出版的《别怕,Excel VBA其实很简单》,此书案例生动,比喻形象,已经帮助很多朋友走进VBA的大门。篇幅不长,300多页,大家可以从基本概念学起,跟着敲击代码,通过实现一个个小功能来入门:


进阶学习推荐同样是Excel Home编著,北京大学出版社出版的《Excel VBA经典代码应用大全》,包含交互设计、文件系统操作、数组与字典、操作Internet Explorer, XML,通过前期绑定和后期绑定操作其他Office应用程序、类模块等高级应用:

罗刚君老师的《Excel VBA程序开发自学宝典》同样经典,本书由浅入深、循序渐进地介绍了Excel VBA的对象、属性、方法、事件,进一步则介绍了数组、字典、正则表达式、注册表操作、文件和文件夹处理、与Word/PPT协同办公、开发自定义函数、Ribbon功能区设计、开发通用插件等高级功能,可以说是自学VBA的宝典,小格从第1版开始就是忠实读者,目前已经发行第4版:

在如今视频为王的年代,我们熟悉的二次元聚集地B站已经成功转型为一个学习的平台,B站有大量优秀的UP主和优质的原创内容,是一个值得挖掘的宝藏。免费、无广告,而且还可以通过弹幕进行交流,通过手机、平板和电脑都可以学习,以下给大家推荐孙兴华老师的系列课程,用心学完这四季(注意不是“四集”哦)课程,相信你一定可以开发出自己的小程序,用于Excel, Word以及Windows中重复操作的自动化:


《跟着孙兴华学习Excel VBA 第一季》VBA自动化程序分享(共32集)

https://www.bilibili.com/video/BV1Tg4y1876G


《跟着孙兴华学习Excel VBA 第二季》办公自动化(共22集)

https://www.bilibili.com/video/BV1Yi4y18796


《跟着孙兴华学习Excel VBA 第三季》(共22集)

https://www.bilibili.com/video/BV1CZ4y157QA


《跟着孙兴华学习Excel VBA 第四季》双剑合壁 Word VBA登场(共78集)

https://www.bilibili.com/video/BV185411L77n


讲完了VBA,再和大家介绍一下Python,根据权威的TIOBE编程语言排行榜2024年11月的数据,Python已经超越C, Java, C++, C#等主流编程语言,连续几年排名第一:

https://www.tiobe.com/tiobe-index/

Python是荷兰计算机学家Guido van Rossum于1990 年代初设计的,至今已经有32年的历史,是一种面向对象、解释型、弱类型的脚本语言。近年来,随着Python在大数据和人工智能领域大放异彩,Python变得越来越流行。Python的优点是简单易学、易读易维护、免费开源、跨平台、可扩展和可嵌入。最重要的是,Python拥有极为丰富的库,Python标准库已经非常庞大,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。除了标准库,Python语言还有超过30万个第三方库,覆盖信息技术几乎所有领域,包括网络爬虫、自动化、数据分析与可视化、WEB开发、机器学习等等。大部分Python的库都是开源的,可以进一步学习里面的原理,出错的时候也可以深入分析原因。

自学Python,入门首推畅销250万册的《Python编程从入门到实践》,此书深入浅出,示例简小精炼,把书上的代码敲一遍,相信你会打下扎实的基本功并很快开发出自己的自动化项目:

如果想通过视频教程轻松愉快地学习Python,那就到B站收看小甲鱼的《零基础入门学习Python》吧,作者风趣幽默的教学风格一定会让你欲罢不能:

https://www.bilibili.com/video/BV1c4411e77t


小甲鱼的同名书籍也已经由清华大学出版社出版,大家可以按需购买:


Python的应用范围极为广泛,对于我们药品注册从业者,最常用的还是办公自动化(处理Word, PDF, Excel, PPT, 文件和文件夹等),因此推荐一本经典图书以及B站两套经典的Python办公自动化教程给大家:

《千锋教育Python办公自动化教程》

https://www.bilibili.com/video/BV1Th411W7bo


孙兴华《Python从入门到办公自动化》

https://www.bilibili.com/video/BV1gt4y1D7W8


学完教程,接下来就是找一个最近自己或者同事最迫切的需求来进行开发了,当你开发的小程序把自己和小伙伴们从浪费生命简单重复的劳动中解放出来,那种无法比拟的成就感会推动你不断前进~~


当然,编程过程绝非一帆风顺,有的时候一个bug就能阻挡你前进的脚步,让你茶饭不思。我们遇到的问题,很多时候前辈高人们已经有了非常成熟的解决方案,这时候就需要精准地求助。


VBA可以访问Excel Home技术论坛,基本上中国最顶尖的VBA高手都云集在这里,注册登陆后,只要你清晰地描述自己的问题,遵循基础的互联网礼仪,抱着谦虚和感恩的态度,一定能得到高人的指点(小格多年来的亲身体会):

https://club.excelhome.net/forum.php


Python可以访问小甲鱼的“鱼C工作室”,有超过一百万注册会员,其Python,C/C++版块非常活跃:

https://fishc.com.cn/forum.php


大家也可以登陆中国程序员第一社区CSDN (Chinese Software Developer Network) ,里面云集了中国最优秀的程序员,有大量教程、资源和示例代码,但是现在有很多需要购买VIP才能查看和下载:

https://bbs.csdn.net/


全球范围,Stack Overflow是最受程序员欢迎的问答网站,其中仅Python相关的问答已经超过一百万条:

https://stackoverflow.com/


当然,大家也可以直接把报错信息到百度或者Bing进行搜索。如果你的英文比较好,Bing绝对是最好的选择。比如,想搜索用Python批量把Word转换为PDF的方法,以“Python convert word to pdf”在Bing里搜索,就可以找到很多示范代码和guidance:

https://cn.bing.com/


好了,今天的分享就到这里啦,大家有问题或者建议欢迎在评论区留言哈~~

iReg
iReg,爱注册——交流药品注册法规,分享药品注册经验
 最新文章