将当前选择另存为 HTML in Excel with Python

Save the current selection as HTML in Excel with Python

在Excel中,将工作簿保存到HTML文件时,可以选择保存整个工作簿或仅保存当前选择。

如何使用 Python win32com 库以编程方式执行后者?

这是我找到的方法:

import win32com.client
from win32com.client import constants

excel = win32com.client.gencache.EnsureDispatch('Excel.Application')
selection = excel.Selection
worksheet = selection.Parent
workbook = worksheet.Parent
publish_object = workbook.PublishObjects.Add(
    constants.xlSourceRange,
    Filename=r'C:\absolute\path\to\file.html',
    Sheet=worksheet.Name,
    Source=selection.Address,
    HtmlType=constants.xlHtmlStatic
)
publish_object.Publish(True)

不确定这是否是最好的方法,但它确实有效。有关其他选项(保存数据透视表、图表等),请参阅 Application.Selection, PublishObjects.Add and PublishObject.Publish