案例介绍
word模块是用来向用户提供一系列操作Microsoft word控件的SDK,让用户通过简单的参数和方法调用来实现一些复杂的操作。要使用word模块,需要使用rpa.app.microsoft.word
进行操作。
案例实现
案例一
1.案例相关SDK
create新建/save保存
def start():
#新建word文档
doc = rpa.app.microsoft.word.create(visible = True)
#保存
doc.save(file = r'xxxxxxxx')
open打开/close关闭word操作
def start():
#打开excel
doc = rpa.app.microsoft.word.open(file = r'xxxxx.docx',visible = False)
#关闭word
doc.close()
write写入/read读取word操作
def start():
#新建word文档
doc = rpa.app.microsoft.word.create(visible = True)
#写入内容
doc.write('Hello world!',size=10,family='宋体',color=1)
#读取内容
txt=doc.read()
#打印内容
print(txt)
#保存
doc.save(file = r'xxxxxxxx')
#color 对照表
# wdByAuthor = -1,
# wdAuto = 0,
# wdNoHighlight = 0,
# wdBlack = 1,
# wdBlue = 2,
# wdTurquoise = 3,
# wdBrightGreen = 4,
# wdPink = 5,
# wdRed = 6,
# wdYellow = 7,
# wdWhite = 8,
# wdDarkBlue = 9,
# wdTeal = 10, // 0x0000000A
# wdGreen = 11, // 0x0000000B
# wdViolet = 12, // 0x0000000C
# wdDarkRed = 13, // 0x0000000D
# wdDarkYellow = 14, // 0x0000000E
# wdGray50 = 15, // 0x0000000F
# wdGray25 = 16, // 0x00000010
search搜索
def start():
#新建word文档
doc = rpa.app.microsoft.word.create(visible = True)
#写入内容
doc.write('Hello world!',size=10,family='宋体',color=1)
#从头开始搜索第二个'o'
doc.search(key='o',from_pos='start',index=2,relative='left')
#保存
doc.save(file = r'xxxxxxxx')
replace替换
def start():
#新建word文档
doc = rpa.app.microsoft.word.create(visible = True)
#写入内容
doc.write('Hello world!',size=10,family='宋体',color=1)
#将'!'替换成'!!!'
doc.replace(key='!',replacement='!!!')
#保存
doc.save(file = r'xxxxxxxx')
cursor_move移动光标
def start():
#新建word文档
doc = rpa.app.microsoft.word.create(visible = True)
#写入内容
doc.write('Hello world!',size=10,family='宋体',color=1)
#将光标向左移动一格
doc.cursor_move(step_count=1,direction='left')
#再光标处写入'?'
doc.write('?',size=10,family='宋体',color=1)
#保存
doc.save(file = r'xxxxxxxx')
2.流程步骤
案例运行视频:WPS案例1效果演示
案例操作步骤依次为:
第一步:新建一个Word文档
第二步:向word文档中写入"Hello world!"
第三步:搜索光标为 "!" 的字符串,并在其左侧写入 "后面是个感叹号:"
第四步:将 "!" 替换成 "!!!"
第五步:光标向左移动一个字符距离
第六步:读取word中的内容,并打印输出到日志中显示
3.案例中源代码分享
from rpa.core import *
from rpa.utils import *
import rpa4 as rpa # 使用V3引擎
def start():
# 在此处开始编写您的应用
word = rpa.app.microsoft.word.create(visible=True)
# 打开word
sleep(2)
word.write('Hello world!',size=10,family='宋体',color=1)
# 写入Hello world!
sleep(2)
word.search(key='!',from_pos='start',index=1,relative='left')
# 搜索 !
sleep(2)
word.write('后面是个感叹号:',size=10,family='宋体',color=1)
sleep(2)
word.replace(key='!',replacement='!!!')
# 将 ! 替换成 !!!
sleep(2)
word.cursor_move(step_count=1,direction='left')
#移动光标
sleep(2)
word.write('?',size=10,family='宋体',color=1)
sleep(2)
# 读取内容
txt=word.read()
sleep(2)
# 打印内容
print("读取到Wrod文档的内容为:{}".format(txt))
案例二
1.案例相关SDK
get_table获取表格
def start():
#打开word文档
doc=rpa.app.microsoft.word.open(file = r'xxxxx.docx',visible = True)
#获取文档中第一张表格
tab1=doc.get_table(1)
#关闭文档
doc.close()
row_count获取表格行数/col_count获取表格列数
def start():
#打开word文档
doc=rpa.app.microsoft.word.open(file = r'xxxxx.docx',visible = True)
#获取文档中第一张表格
tab1=doc.get_table(1)
#获取表格行数
rows=tab1.row_count()
#获取表格列数
cols=tab1.col_count()
#打印行/列数
print('行数为:'+str(rows)+'列数为:'+str(cols))
#关闭文档
doc.close()
read读取表格内容/write写入表格内容
def start():
#打开word文档
doc=rpa.app.microsoft.word.create(file = r'xxxxx.docx',visible = True)
#获取文档中第一张表格
tab1=doc.get_table(1)
#获取表格第一行第一列内容
txt=tab1.read(row=1,col=1)
#将获取到的内容写入到第四行第三列
tab1.write(row=4,col=3,text=txt,size=10,family='宋体',color=2)
#关闭文档
doc.close()
#color 对照表
# wdByAuthor = -1,
# wdAuto = 0,
# wdNoHighlight = 0,
# wdBlack = 1,
# wdBlue = 2,
# wdTurquoise = 3,
# wdBrightGreen = 4,
# wdPink = 5,
# wdRed = 6,
# wdYellow = 7,
# wdWhite = 8,
# wdDarkBlue = 9,
# wdTeal = 10, // 0x0000000A
# wdGreen = 11, // 0x0000000B
# wdViolet = 12, // 0x0000000C
# wdDarkRed = 13, // 0x0000000D
# wdDarkYellow = 14, // 0x0000000E
# wdGray50 = 15, // 0x0000000F
# wdGray25 = 16, // 0x00000010
add_row新增表格行/add_col新增表格列
def start():
#打开word文档
doc=rpa.app.microsoft.word.open(file = r'xxxxx.docx',visible = True)
#获取文档中第一张表格
tab1=doc.get_table(1)
#新增一行
tab1.add_row()
#新增一列
tab1.add_col()
#关闭文档
doc.close()
add_picture插入图片
def start():
#打开word文档
doc=rrpa.app.wps.word.open(file = r'xxxxx.docx',visible = True)
#在文档中第一张图片-会插入在光标处
doc.add_picture(file=r'xxxx.jpg')
#关闭文档
doc.close()
to_pdf插入图片
def start():
#打开word文档
doc=rpa.app.microsoft.word.open(file = r'xxxxx.docx',visible = True)
#将word转换成PDF
doc.to_pdf(file=r'xxxx.pdf')
#关闭文档
doc.close()
2.流程步骤
案例操作步骤依次为:
第一步:打开测试文档:word操作表格.docx
第二步:获取表格对象
第三步:分别向表格对象内第一行,第二行,第三行,输入内容:“RPA输入第”
第四步:读取指定行列的内容
第五步:获取表格行数、列数
第六步:增加一行、一列,然后保存
3.案例中源代码分享
from rpa.core import *
from rpa.utils import *
import rpa4 as rpa # 使用V3引擎
def start():
# 打开一个有表格的word
wd = rpa.app.microsoft.word.open(r"\\Mac\Home\Desktop\测试应用.docx",visible=True)
# 根据索引获取表格
tb = wd.get_table(0)
# 写入指定 行 列 内容
tb.write(1, 1, "RPA输入第一行")
sleep(1)
tb.write(2, 1, "RPA输入第二行")
sleep(1)
tb.write(3, 1, "RPA输入第三行")
# 读取指定行列的内容
data = tb.read(1,1)
# 获取表格行数
m_row = tb.row_count()
# 获取表格列数
m_col = tb.col_count()
# 增加一行
tb.add_row()
# 增加一列
tb.add_col()
wd.save()
文档内容是否对您有帮助?