共计 1652 个字符,预计需要花费 5 分钟才能阅读完成。
Hey,How are you doing?
我是 职场编码,很高兴认识你。
以前,我是一个眼高手低的职场人。
对一些很简单的理论不屑一顾。
认为这种简单事谁都能做到。
其实,越是简单的东西,越要学会举一反三。
这期,想给大家介绍一下 C# 操作微软三大件 Excel,Word,Ppt 攻略。
你可能会说,不就是在这几个软件里写入数据吗?
有什么难的,我打开软件不用编码就能写。
可能写 1 个你觉得容易,你批量写 100 个试一下吧。
高效职场人嘛,总要学一些黑科技,来助自己一臂之力。
其实有很多编程语言可以实现,比如 Python,Vba 等。
但我想跟你说,试试 C# 其实也很香。
首先,你需要下载 Visual Studio2013。
私信发送“ 软件 ”,获取 Visual Studio2013 安装包。
注:图文顺序为,先图后解释。
界面设计
- 新建一个项目文件,取好项目名称(数字、英文、汉语开头都可以)
- 选择 C# 编程语言,选择“窗体应用程序”,点击“确定”。
- 使用 Button 控件分别拖拽三个。
将控件的 Text 属性分别改为写入 Excel,写入 Word,写入 Ppt,即可实现改名。
- 使用 Textbox 控件分别拖拽两个。
将控件的 Multiline 属性改为 true 实现多行显示。将其中一个控件的 ReadOnly 改为 true 实现文本标签效果。
因为 Lable 标签无法实现多行显示,只能另辟蹊径。
编写代码
- 引入命名空间
在项目 - 添加引用,分别选择 Microsoft Excel 16.0 Object Library、
Microsoft Word 16.0 Object Library、Microsoft PowerPoint 16.0 Object Library。
因为前期绑定运行速度极快,而且编写代码时可以有代码提示。
这期,我特别向你介绍这种操作方法。
文末有源码获取途径,源码仅供个人学习使用,切勿商用。
- 完善命名空间引入代码
- 编辑写入 Excel 单击事件代码
流程:生成 Excel 主程序》新建工作簿》通过 Cells 属性写入单元格》另存在桌面上》关闭 Excel 程序。
我们提前在右下角的蓝色区域填入我们想写入的值,
就能通过 est.Cells[1, 1] = textBox1.Text 写入 Excel 表格。
- 编辑写入 Word 单击事件代码
流程:生成 Word 主程序》新建文档》通过 Range.Text 属性写入段落》另存在桌面上》关闭 Word 程序。
我们提前在右下角的蓝色区域填入我们想写入的值,
就能通过 wph.Range.Text = textBox1.Text 写入 Word 文档。
- 编辑写入 Ppt 单击事件代码
流程:生成 Ppt 主程序》新建演示文稿》通过 TextFrame.TextRange.Text 属性写入文本框》另存在桌面上》关闭 Ppt 程序。
我们提前在右下角的蓝色区域填入我们想写入的值,
就能通过 psd.Shapes[1].TextFrame.TextRange.Text = textBox1.Text 写入 Ppt 演示文稿。
友情贴士:当引入三大件命名空间后,生成 Application 及二级对象时。
编辑器会提示对象与事件存在二义性、
这时,你需要在 Application 及二级对象前加上 _ 即可消除错误提示。
BUG 修正
在实际操作过程中,通过对比三大件之间的差异。
发现使用 Quit() 指令无法正常关闭 Excel 和 Ppt 后台进程。
- Excel 代码修正
Excel 太特殊(矫情),你打开 4 个 Excel,后台进程就会显示 4 个 EXCEL.EXE*32。
因此使用了 GetWindowThreadProcessId 方法获取进程 ID,
通过锁定进程 ID 终结进程,这样可以防止误杀其他 EXCEL 程序。
First blood、Double kill、Triple kill、Quadro kill、Penta kill。
- Ppt 代码修正
无论你打开多少个 Ppt,后台只有一个 POWERPNT,EXE 进程。
因而采用 PROCESS 进程类数组的 Kill 方法终结进程。
好了,这期就介绍到这。
私信回复“ 源码 ”,获取代码下载地址。
如果你也喜欢编码,请关注我,
我为职场人带盐,让我们一起进步。