2013-05-13 99 views
0

我想一個Excel文本框添加到工作表......我在Excel中使用GUI典型的快捷鍵是Alt鍵+ñX然後單擊我想要的文本框;但是,我沒有訪問COM瀏覽器,這讓我猜測,微軟在藏Python的win32com文本框API ...添加一個Excel文本框與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的GUI添加一個文本框(即:Alt + NX),使用Python的win32com api? (工作表中的具體定位是你的...)

+0

請嘗試使用openpyxl:http://pythonhosted.org/openpyxl/如果可能的話?或以下任何xls文件:http://www.python-excel.org/ – Torxed 2013-05-13 20:03:55

+0

@Torxed,如果您發佈了一個使用openpyxl的解決方案,我會接受......'win32com'不是必需的,但我無法找到正確的API與openpyxl – 2013-05-13 20:10:27

+0

@Mike_pennington不知道我的答案真的完全回答你的問題,因爲我害怕我不確定你是什麼意思的「文本框」? – Torxed 2013-05-13 20:18:54

回答

2

使用形狀對象的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