【问题标题】:Adding an Excel Textbox with win32com使用 win32com 添加 Excel 文本框
【发布时间】:2013-05-07 23:13:33
【问题描述】:

我正在尝试将 Excel 文本框添加到工作表...我在 Excel GUI 中使用的典型快捷方式是 Alt+N X kbd> 然后单击我想要的文本框;但是,我无法访问 COM 浏览器,这让我猜测微软在 Python 的 win32com 下隐藏了 Textbox API 的位置...

from win32com import client

excel=client.Dispatch("Excel.Application")
excel.Visible=True
book=excel.Workbooks.Open("c:/Users/dpennington/Desktop/Blank.xls", False, 
    True)
sheet=book.Worksheets(2)

如何使用 Python 的 win32com api 添加文本框(即在 Excel GUI 中:Alt+N X)? (工作表中的具体定位由你决定……)

【问题讨论】:

  • 试试 openpyxl:pythonhosted.org/openpyxl 如果可能的话?或以下任何 xls 文件:python-excel.org
  • @Torxed,如果您发布使用 openpyxl 的答案,我会接受... win32com 不是必需的,但我找不到使用 openpyxl 的正确 API
  • @Mike_pennington 不确定我的回答是否真的完全回答了您的问题,因为恐怕我不确定您所说的“文本框”是什么意思?

标签: python excel com win32com


【解决方案1】:

使用 Shapes 对象的 AddTextbox 方法:

import win32com.client as client

xl = client.Dispatch("Excel.Application")
xl.Visible = True
wb = xl.Workbooks.Open("c:/1temp/badacres.xls")
ws = wb.Sheets(1)

tb = ws.Shapes.AddTextbox(1, 570, 45, 171, 80)
tb.TextFrame2.TextRange.Characters.Text = 'This is a great big test.'

您可以在 AddTextbox 方法here 上找到更多信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-02
    • 1970-01-01
    • 2022-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多