什么是办公自动化

最近经常需要处理外部采购的订单,这些订单重复性很强,基本就是客户信息和需要购买的配件,所有的工作就是粘贴复制,对于我这种搞自动化专业的人来说这是不能忍的,所以想到有没有可能把这套流程自动化实现。
最开始想到的自然是python写代码来实现,但是碍于长时间未进行码农工作,许多业务早已经荒废,加之实现后没有任何操作界面,这个工作根本没办法交待到其他人来进行,无非还是自己,只不过换成了命令行来工作
之后某天刷B站发现了一种叫Power Automate的方法或者叫做工具,是微软出品的Office 365中的一款代码自动化执行的图形化工具,主要就是为了实现办公自动化,这一来可不正好撞枪眼,但是看了B站通篇的视频后,发现入手还是不太容易,主要原因一是视频教程质量参差不齐,二是所举案例和自己完全无关,没法直接套用,三是有些地方逻辑混乱,耐着性子看下来却不知所云,无奈之下还是得通过Youtube,质量之高确实值得国内做视频得朋友们反思,这套学习下来,也发现了一些学习新东西的心得,乘此一并写出。


Power Automate

何为Power Automate,其前身是微软的Microsoft Flow,是一个在线的自动化部署工具,主要就是实现自动化的工作流,打通Office套件中各软件的自动流程化执行,比如发个邮件后,附件自动下载啊,提交个表单后,自动发送PDF的邮件啊等等。
这次我想要干的就是把现在做的这套手工作业实现成自动化,主要流程是

  1. 在产品清单中,勾选用户需要采购的产品及数量
  2. 给用户发个表单,让他填写自己公司的信息并提交
  3. 自动生成一张购买合同存放在onedrive下指定文件夹
  4. Done!

流程如下
Power Automate Flow.excalidraw.png


详细步骤

需要用到的Office套件

首先需要注册一个Office 365的账户,公司的或者个人的都可以,整个流程需要使用几个软件,分别是sharePoint,Word,Onedrive,Form,如果需要直接发邮件还需要Outlook,这几个软件之间的工作流程如上图所示,其中lists是保存在sharePoint站点上,Word是保存在Onedrive中,Form有自己独立的存放位置

Lists

登陆Office 365,打开sharePoint,这里我尽量少截图了,不想搞一个纯傻瓜的教程,不会登陆或者找不到图标,甚至不知道如何注册365的同学自己脑补吧,或者B站看视频吧。
SharePoint需要先新建一个站点,之后在这个站点里新建各种文件,类似于Onedrive中存文件的意思,不知道微软的产品逻辑都是什么意思,各种功能重复性软件层出不穷

Power Automate办公自动化 - 图2

新建一个list之后就可在里面增加数据或者导入Excel文件,软件操作Excel的逻辑差不多,具体使用这里也不说了,基本就是看了就会用的软件,配置完的List表格如下:

Power Automate办公自动化 - 图3

这里需要注意几个点,一个是否选中的列和购买数量列,是否选中这个列存在的目的是为了实现只把需要的多行条目添加到Word中,因为目前Power Automate只能实现添加选中的一行条目或者所有条目全部添加,所以是否选中列是为了在Power Automate中增加一个判断机制,实现添加多行选中的条目,话有点绕,看不懂也没关系,继续往后吧。
购买数量列很好理解,是为了和单价相乘计算总价的。
到此List的工作结束了

Forms

登陆Office 365,打开Forms,具体怎么用也不说了,就是做个表单,随便按照自己的格式做就行,目的就是共享给对方,让他填了之后提交,这里我做完的样子是这样的
Power Automate办公自动化 - 图4
当然手机上也没问题
Power Automate办公自动化 - 图5
还能通过扫二维码访问,方便得很。
Forms的工作到此为止

Word

Word的工作最好是在本地的Word软件上操作,在线的缺少些功能,Word怎么用那就更不说了,只说需要的,通过文件,选项,打开开发工具显示在工具栏中,具体怎么开百度吧,然后只是用下图中框中的部分
Power Automate办公自动化 - 图6

选中需要填写内容的文字,点击插入纯文本内容空间,之后再点击属性,设置下这个控件的标题和标记,如下图所示

Power Automate办公自动化 - 图7

所有需要自动填写内容的地方都这么进行处理,但是对于需要成行填写的表格怎么处理呢,如下图

Power Automate办公自动化 - 图8

首先,用户需要购买的产品肯定不止一个,所以表格就需要添加很多行,这里选中需要成行变化的文字后,点击重复分区内容控件就OK了

Power Automate办公自动化 - 图9

之后将Word文档保存在OneDrive下的某个文件夹

至此,准备工作全部结束,之后就是在Power Automate中进行连接了

Power Automate

通过Office 365打开Power Automate,之后点击创建,会弹出如下的窗口界面

Power Automate办公自动化 - 图10

最常用的是红框的两个,点击Automated Cloud Flow打开编辑界面,首先需要给这个Flow一个名字,因为是需要表单提交后执行自动化流程,所以选择红框的选项,之后点击创建

Power Automate办公自动化 - 图11

界面很干净,有一个框和下面写着下一步,基本就是图形化框图一步步进行编辑,这里选择之前创建的Form表单,点击下一步,就如下图所示了

Power Automate办公自动化 - 图12

看到这里,大概大家也能看懂Flow的基本逻辑了,就是上一步输入,下一步输出,中间可以添加各种操作,比如判断,循环之类的,最后得到想要的结果,所以这个例子的详细流程就是

  1. 用户填写表单提交后,触发Flow执行
  2. 取出表单内容
  3. 初始化四个变量,分别是一个数组变量存放Lists中的条目,三个浮点数变量价格,数量,总计用来进行计算价格
  4. 从lists中取出所有条目
  5. 每一个条目做判断,是否加入栏的值是否是True
  6. 如果是,先计算总价,之后加入数组,如果不是,啥也不做
  7. 填充数据到Word文件中,这里的数据包含Forms和Lists中两部分数据,Forms的数据对应Word中的信息依次添加,Lists中的数据是将之前的数组整体添加
  8. 调用Onedrive创建生成的文件并保存在Onedrive中指定的文件夹下面

至此流程全部结束,下面我会打包截图到网盘,可以下载了后自行研究,这里就不放了

Microsoft办公自动化_002.excalidraw.png

测试

通过Office 365打开Forms,之后点击共享,有多种共享方式,可以把链接发给对方,或者通过二维码访问,对方访问后填写必要得信息提交后,自动化流程即开始运行,如果成果了自然没什么问题,如果失败了可以通过Power Automate的测试功能来发现问题。如下图
Power Automate办公自动化 - 图14