2013-05-13 3 views
0

Я пытаюсь добавить Excel Textbox на лист ... типичный ярлык я использую в графическом интерфейсе Excel является Alt + NX и затем туда, где я хочу Текстовое окно; Однако, у меня нет доступа к COM-браузер, который оставляет меня гадать, где Microsoft скрывала Textbox API под Питона win32com ...Добавление Excel Textbox с win32com

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) 

Как бы я добавить текстовое поле (то есть в графическом интерфейсе Excel: Alt + NX), используя Python's win32com api? (Specific позиционирование листа до вас ...)

+0

Попробуйте openpyxl вместо этого: http://pythonhosted.org/openpyxl/ если возможно? или любое из следующих файлов xls: http://www.python-excel.org/ – Torxed

+0

@Torxed, если вы отправляете ответ, который работает с использованием openpyxl, я соглашусь с тем, что ... win32com не требуется, но Я не смог найти правильный API с openpyxl –

+0

@Mike_pennington Не был уверен, что мой ответ действительно полностью ответил на ваш вопрос, так как я боюсь, что я не был уверен, что вы подразумеваете под «текстовым полем»? – Torxed

ответ

2

Используйте метод AddTextbox объекта Shapes:

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.