Python 3.x 我应该传递给word函数PrintOut()以仅打印页码2的正确参数是什么

Python 3.x 我应该传递给word函数PrintOut()以仅打印页码2的正确参数是什么,python-3.x,ms-office,win32com,Python 3.x,Ms Office,Win32com,我有一个word文档,它有37页,我只想打印第2页,我找到了函数PrintOut(),但参数不起作用,它总是打印所有页面 我找到了这个网页 它告诉我每一个论点,但它不是工作 import win32com.client as win32 xWord =win32.DispatchEx('Word.Application') Dc=xWord.Documents.Open(r'C:\Users\X\Desktop\work.docx') Dc.PrintOut(Background=Fals

我有一个word文档,它有37页,我只想打印第2页,我找到了函数PrintOut(),但参数不起作用,它总是打印所有页面

我找到了这个网页 它告诉我每一个论点,但它不是工作

import win32com.client as win32

xWord =win32.DispatchEx('Word.Application')

Dc=xWord.Documents.Open(r'C:\Users\X\Desktop\work.docx')

Dc.PrintOut(Background=False, Append=False, Range=4, OutputFileName="", From=0, To=0, Item=0, Copies=1, Pages="2", PageType=0, PrintToFile=False, Collate=True, ManualDuplexPrint=False, PrintZoomColumn=1, PrintZoomRow=1, PrintZoomPaperWidth=0, PrintZoomPaperHeight=0)
我试过以下方法

  • 1、 Dc.打印输出(范围=4,项目=0,副本=1,页数=2,页面类型=0)

  • 2、 Dc.打印输出(范围=4,项目=0,页面=2”,页面类型=0)


但是参数不起作用,它总是打印所有页面。

要打印当前页面,您可以使用以下参数,如示例代码(C#)所示:


要指定范围,必须使用带有相应数字的
wdPrintFromTo
wdPrintRangeOfPages
值来打印当前页面。您可以使用示例代码(C#)中所示的以下参数:


要指定范围,必须使用带有相应数字的
wdPrintFromTo
wdPrintRangeOfPages
值,但这不起作用,我知道我应该使用wdPrintFromTo或wdPrintRangeOfPages,事实上,我只想使用wdPrintRangeOfPages,但在python中。我不知道如何使用常量wdPrintRangeOfPages,因为我找到了wdPrintRangeOfPages的值,所以在我的代码中,Range=4与Item=0 PageType=0的值相同。这些参数(值)在VBA中运行良好,但在python.Dc.PrintOut中不起作用(Range=Word.WdPrintOutRange.wdPrintRangeOfPages,Item=Word.WdPrintOutItem.wdPrintDocumentContent,Pages=“2”,PageType=Word.WdPrintOutPages.wdPrintAllPages)这段代码也不起作用,我得到了AttributeError,这是关于pywin32的问题吗?我想你,但它不起作用,我知道我应该使用wdPrintFromTo或wdPrintRangeOfPages,事实上,我只想使用wdPrintRangeOfPages,但在python中。我不知道如何使用常量wdPrintRangeOfPages,因为我找到了wdPrintRangeOfPages的值,所以在我的代码中,Range=4与Item=0 PageType=0的值相同。这些参数(值)在VBA中运行良好,但在python.Dc.PrintOut(Range=Word.WdPrintOutRange.wdPrintRangeOfPages,Item=Word.WdPrintOutItem.wdPrintDocumentContent,Pages=“2”,PageType=Word.WdPrintOutPages.wdPrintAllPages)中不起作用,我得到了AttributeError,这是关于pywin32的问题吗?
object copies = "1"; 
object pages = "1"; 
object range = Word.WdPrintOutRange.wdPrintCurrentPage; 
object items = Word.WdPrintOutItem.wdPrintDocumentContent; 
object pageType = Word.WdPrintOutPages.wdPrintAllPages; 
object oTrue = true; 
object oFalse = false; 

this.PrintOut(
    ref oTrue, ref oFalse, ref range, ref missing, ref missing, ref missing,
    ref items, ref copies, ref pages, ref pageType, ref oFalse, ref oTrue, 
    ref missing, ref oFalse, ref missing, ref missing, ref missing, ref missing);