乐趣区

002-C-写入ExcelWordPpt完整攻略

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 方法终结进程。

好了,这期就介绍到这。

私信回复“ 源码 ”,获取代码下载地址。

如果你也喜欢编码,请关注我,

我为职场人带盐,让我们一起进步。

退出移动版