使用win32com和Python将Excel数据粘贴到特定的MS Word段落中



我想复制Excel数据(例如表格或特定范围(,并将其粘贴在MS Word文档段落的末尾,而不替换其文本。上述过程应该使用Python完成,最好使用pywin32(win32com.client(

下面的代码非常有效,但Excel数据只能粘贴在Word文档的开头:

def copy_from_excel_paste_to_word(word_filename, excel_filename):
# Word init
word = client.Dispatch("Word.Application")
word.Visible = True
report = word.Documents.Open(word_path)
wdRange = report.Content
# Excel init
excel = client.Dispatch("Excel.Application")
checklist = excel.Workbooks.Open(excel_path)
sheet = checklist.Worksheets("Names")
sheet.Range("B2:D15").Copy()
# Paste Excel data at the beginning of the doc, while keeping doc data
wdRange.Collapse(1)
wdRange.PasteExcelTable(False, False, False) # ? How can i specify the paste location ?
# Save and quit
word.ActiveDocument.Close(SaveChanges=True)
excel.Quit()
word.Quit()

折叠到任何Range:的末尾而不是开头

# Paste Excel data at the end of the doc, while keeping doc data
wdRange.Collapse(0)

注意:要查看此类信息,请启动Word。按Alt+F11打开VBA编辑器,然后按F2启动对象浏览器。例如,如果在搜索框中键入Collapse,则可以单击它并按F1键以获取"帮助"主题。

您还会在结果列表中看到条目WdCollapseDirection,它将显示可以传递给Collapse方法的值。单击该按钮,底部列表中将显示两个枚举。单击其中一个,然后在最底部的窗格中查看代码所需的数值(0或1(。

相关内容

  • 没有找到相关文章

最新更新