Excel “自动化”;右键单击+;“打印”;关于.xlsx文件

Excel “自动化”;右键单击+;“打印”;关于.xlsx文件,excel,file,printing,automation,Excel,File,Printing,Automation,我需要自动打印.xlsx文件。 我已经看到了一些关于这个任务的答案,说创建VBA脚本是可能的,还有一些例子。这与我的问题无关 我想,我知道右键单击.xlsx文件并单击“打印”也是可能的,这正是我想要的任务。它打开Excel,将文件打印到默认打印机,然后关闭Excel。(顺便说一下,Windows 7) 所以我认为这项工作已经在这里完成了 单击此“打印”选项时启动什么流程?它可以通过命令行启动,或者通过python脚本或其他方式“单击”吗?如果没有,原因是什么?这么容易点击的东西怎么可能不可能自动

我需要自动打印.xlsx文件。 我已经看到了一些关于这个任务的答案,说创建VBA脚本是可能的,还有一些例子。这与我的问题无关

我想,我知道右键单击.xlsx文件并单击“打印”也是可能的,这正是我想要的任务。它打开Excel,将文件打印到默认打印机,然后关闭Excel。(顺便说一下,Windows 7)

所以我认为这项工作已经在这里完成了


单击此“打印”选项时启动什么流程?它可以通过命令行启动,或者通过python脚本或其他方式“单击”吗?如果没有,原因是什么?这么容易点击的东西怎么可能不可能自动化呢?我假设必须以某种方式启动某种进程。

Office文档的上下文菜单打印命令使用动态数据交换(DDE),而不直接运行可从命令行复制的命令

您可以在注册表中查看命令的内容。浏览至
HKEY\U CLASSES\U ROOT\.xlsx
并查看(默认)数据列。在我的机器上,“Excel.Sheet.12”是.xslx文件的类型。然后浏览到
HKEY\u CLASSES\u ROOT\Excel.Sheet.12\shell\
,查看为该文件类型注册的命令。在我的机器上,打印(默认)是
“C:\Program Files\Microsoft Office\Office16\EXCEL.EXE”/dde
,“命令”是
zn=BV5!!!!4.MKKSkEXCELFiles>]-z5hw$l[8QeZZR4_X=$/dde
,对于从命令行运行这些文件都没有直接的用处或可访问性

需要另一个程序才能访问该界面,但有些程序允许您从命令行使用DDE。我推荐Freddy Vulto的。可以找到更多信息和其他一些类似的实用程序。

找到了

使用python可以轻松启动此任务

import os
os.startfile('C:/path/to/the/file.xlsx','print')
这段代码将启动相同的打印任务。从这里开始,python开发人员在脚本中自动执行任务就变得非常简单了

但是,如果您对Python了解不多,也不想现在就学习它,那么在任何自动化脚本中添加它的一种简单(或懒惰)方法是将上面的两行代码保存在
where.py
文件中,并通过命令行启动它(当然,安装了Python)