# Excel对象操作 用于打开或创建工作簿。
注: - 本模块仍在开发中,目前为预览状态。 - 因为权限原因,Quicker的Excel相关模块不支持对资源管理器或开始菜单中打开的Excel窗口进行操作。
需要使用本模块“打开工作簿”或“创建工作簿”操作得到的Excel窗口才能进行其他自动化控制。
可使用此动作:[https://getquicker.net/Sharedaction?code=efa8a4af-4a87-4d52-d718-08d827485760](https://getquicker.net/Sharedaction?code=efa8a4af-4a87-4d52-d718-08d827485760) - 通过编程方式修改Excel工作簿后,将无法撤销修改。 - 可能需要一定的c#和VBA知识才能方便的使用本模块。 # 各操作类型 ## 获取当前Excel应用信息 获取当前打开的Excel软件窗口的信息。
(由于权限不同的原因,只能访问到通过本模块打开的Excel窗口)
在内部使用 `(Excel.Application)Marshal.GetActiveObject("Excel.Application")` 得到相关信息。
![image.png](https://cdn.nlark.com/yuque/0/2020/png/272392/1594521797946-78eb34e1-fa83-4a80-890f-367c386db0ba.png#averageHue=%23fbfbfb&height=510&id=L2LtS&name=image.png&originHeight=1020&originWidth=1180&originalType=binary&ratio=1&rotation=0&showTitle=false&size=96311&status=done&style=none&title=&width=590)
**输入**
【参数】不适用于本操作。
**输出**
【是否成功】操作是否成功。
【活动工作簿】当前活动的Workbook对象([Application.ActiveWorkbook](https://docs.microsoft.com/en-us/dotnet/api/microsoft.office.interop.excel._application.activeworkbook?view=excel-pia))。
【活动工作表】当前活动的WorkSheet对象([Application.ActiveSheet](https://docs.microsoft.com/en-us/dotnet/api/microsoft.office.interop.excel._application.activesheet?view=excel-pia))。
【工作表列表】当前工作簿的WorkSheet对象列表([_Application.Worksheets](https://docs.microsoft.com/en-us/dotnet/api/microsoft.office.interop.excel._application.worksheets))。
【工作簿路径】当前窗口的文件路径(通过_Application.ActiveWorkbook.FullName得到)。
【Application对象】Marshal.GetActiveObject("Excel.Application")得到的对象本身。 ## 打开工作簿 打开指定的excel文件。
![image.png](https://cdn.nlark.com/yuque/0/2020/png/272392/1594522752900-3d85ea93-5a15-4bd1-83da-602dcdb33e6d.png#averageHue=%23fbfbfa&height=543&id=vXngA&name=image.png&originHeight=1085&originWidth=1180&originalType=binary&ratio=1&rotation=0&showTitle=false&size=103359&status=done&style=none&title=&width=590)
**输入**
【文件路径】要打开的Excel文件完整路径。
【参数】可选。每行一个参数(仅提供必要的参数内容),格式为“参数名=参数值”,支持的参数如下: - Visible=窗口是否可见 可选值:true/false - Password=文件密码 - Readonly=是否以只读方式打开 可选值:true/false - Format=格式。用于打开文本文件时指定分隔字符。可选值为下列数字之一: - 1 Tabs - 2 Commas - 3 Spaces - 4 Semicolons - 5 Nothing **输出**
【活动工作簿】当前活动的Workbook对象([Application.ActiveWorkbook](https://docs.microsoft.com/en-us/dotnet/api/microsoft.office.interop.excel._application.activeworkbook?view=excel-pia))。
【活动工作表】当前活动的WorkSheet对象([Application.ActiveSheet](https://docs.microsoft.com/en-us/dotnet/api/microsoft.office.interop.excel._application.activesheet?view=excel-pia))。
【工作表列表】当前工作簿的WorkSheet对象列表([_Application.Worksheets](https://docs.microsoft.com/en-us/dotnet/api/microsoft.office.interop.excel._application.worksheets))。
【工作簿路径】当前窗口的文件路径(通过_Application.ActiveWorkbook.FullName得到)。
【Application对象】打开此文件的Application对象。如果之前已经存在Application对象,则使用已存在的,否则创建一个新的Application对象。通常每个Application对象对应一个Excel进程。 ## 保存工作簿 保存当前工作簿。
![image.png](https://cdn.nlark.com/yuque/0/2020/png/272392/1594527400125-6b524b62-8c48-4880-8d67-3e7d58906a49.png#averageHue=%23fbfbfb&height=464&id=hE7ID&name=image.png&originHeight=927&originWidth=1180&originalType=binary&ratio=1&rotation=0&showTitle=false&size=80028&status=done&style=none&title=&width=590)
输入
【工作簿】(1.9.5)要保存的工作簿,如果未指定,则保存当前活动工作簿。
【文件路径】要保存到的位置。如果路径为空,则效果类似于按下Excel的保存按钮。
【参数】使用“参数=值”的形式设置保存参数,每行一个。支持的参数如下: - SaveCopy=是否保存副本。 可选值为true/false。保存副本时不支持其他参数。 - CloseWorkbook=是否关闭工作簿。可选值true/false。 - CloseApplication=是否关闭Excel。可选值true/false。 - Password=密码。 - FileFormat=保存文件格式,可选值请参考:[https://docs.microsoft.com/en-us/dotnet/api/microsoft.office.interop.excel.xlfileformat?view=excel-pia](https://docs.microsoft.com/en-us/dotnet/api/microsoft.office.interop.excel.xlfileformat?view=excel-pia) ## 创建工作簿 创建一个新的工作簿。
![image.png](https://cdn.nlark.com/yuque/0/2020/png/272392/1594528367291-fe9235d0-8674-4030-b8a2-255ea1eaebb0.png#averageHue=%23fbfbfa&height=543&id=asZoo&name=image.png&originHeight=1086&originWidth=1180&originalType=binary&ratio=1&rotation=0&showTitle=false&size=105544&status=done&style=none&title=&width=590)
输入
【文件路径】可选。在需要时指定模板文件完整路径。
【参数】(需1.9.5+)在不指定模板文件的情况下,设定初始创建的工作表名称。每行一个,格式为“+:工作表名称”,例如: ``` +:工作表1 +:工作表2 ``` ## 选择工作表 (1.9.5+)选择(激活)某个工作表。
![image.png](https://cdn.nlark.com/yuque/0/2020/png/272392/1594536440912-724150a0-6395-456c-a2af-c1063105e9dd.png#averageHue=%23fafafa&height=255&id=Pt5Fe&name=image.png&originHeight=509&originWidth=983&originalType=binary&ratio=1&rotation=0&showTitle=false&size=46620&status=done&style=none&title=&width=491.5)
输入
【工作簿对象】指定要激活哪个工作簿对象的工作表。留空表示操作当前活动工作簿。
【参数】指定激活的工作表,可以使用如下方式: - index=工作表序号(从1开始) - name=工作表名称 请确保工作表是存在的。 # 示例动作 - 自动生成乘法口诀,写入d:\test.xlsx文件。[https://getquicker.net/sharedaction?code=8a38e78c-2edf-4c8b-1506-08d8255d6cc9](https://getquicker.net/sharedaction?code=8a38e78c-2edf-4c8b-1506-08d8255d6cc9) - 打开Excel文件:[https://getquicker.net/sharedaction?code=efa8a4af-4a87-4d52-d718-08d827485760](https://getquicker.net/sharedaction?code=efa8a4af-4a87-4d52-d718-08d827485760) - 选择工作表:[https://getquicker.net/sharedaction?code=5a3e75ce-5a1c-4d1d-d71a-08d827485760](https://getquicker.net/sharedaction?code=5a3e75ce-5a1c-4d1d-d71a-08d827485760)