Hey,How are you doing?
2020年,对于我来说,既是机遇,也是挑战。
所谓挑战,是指C#实现办公自动化的系统课程几乎空白。
所谓机遇,是指做好了有可能成为C#办公自动化第一人。
我不是专业码农,没有太多项目经验。
庆幸的是,日常办公中接触到了很多高度重复的工作。
我的目的很明确,就是想通过C#实现重复工作自动化。
也许骨子里和很多人不同,我并没有追Python的风。
C/C ,大佬们通常用于操作系统、硬件底层等领域。
而Python主攻人工智能。
由于VBA存在,Python并不是最适合办公自动化的工具。
1995年Java诞生,2002年C#诞生,
Java和C#同属C系语言,但C#比Java简洁易学。
如果你是想找工作,你可以学习Java。
咱们目的是实现重复工作自动化,
使用C#则可以实现更早下班。
我并不是特别厉害,曾研究过2个月VBA没有继续深造。
略懂一些基础语法,我感觉这样,其实就已经足够了。
通过短暂学习,我知道VBA是通过COM组件实现办公自动化。
其实,我也可以通过COM组件,用C#实现办公自动化。
就是抱着这样一种纯碎想法,我开了新坑[职场编码],
致力于贡献一些职场小白实现效率提升的小技巧。
说句实在话,我学了2个月VBA,就已经对Sub End Sub,
With End With产生依赖了。
VBA实在太好用了,那时根本瞧不上C#。
2020年1月下旬,在家憋着没事,就开始研究C#,从基础语法,看到最新特性,
经过将近4个月的磨合,我发现,
自己竟然喜欢上了优雅的{花括号}和[索引]。
前者可以快速区分代码块,而不必使用游标卡尺为缩进而烦恼。
后者可以快速引用对象,而不必与对象的(方法)混为一谈。
前面,我所说的COM组件是指:
- Microsoft.Office.Interop.Word;
- Microsoft.Office.Interop.Excel;
- Microsoft.Office.Interop.Powerpoint;
当然还有其他的组件,如Access、Publisher、Visio等。
因为日常接触到的基本就是办公三大件。
今后粉丝有需求,我会再开专题,详细讲解其他组件。
我们是技术文,排版其实不是最重要的。
通常推文以技术为主,若哪里看不懂,
或者我写得不够明确,欢迎私信联系。
下面,我们来看一下如何自动生成信息卡。
根据操作示意图,我们可以得知,只要把Excel数据写入Word模板里就可以了。
首先,我会在Word里建立一张信息卡模板,放在文件夹~c003binDebug。
接着,我用Sharp Develop创建一个控制台应用程序。
大致思路:观察一下,Excel共有10条数据准备写入,
那我就把Word模板复制9份,接着使用代码循环写入就可以了。
001 准备工作
日常引用WordExcel, System.Runtime.InteropServices杀进程专用空间。
002 开始工作
- 常规操作:声明、可见、定义、打开WordExcle。
- 创建表格: 通过Mxr-2控制循环次数, Wdc.Tables.Count计算表格个数。
- 数据写入: 通过Wdc.Tables[].Cell().Range.Text=Eap.Worksheets[].Cells().value.ToString()实现数据写入。
003 扫尾工作
通过定义Kill方法,调用Kill方法实现Excel进程终结。
下面是源码贴图,如果你也想深入学习,回复 源码 获得源代码供你参考。
———— The End ————