Я тщетно пытаюсь получить имя TextBox в MS Excel с помощью pywin32, я попытался записать макрос и получил следующие советы, но не могу перевести их из VBA в python.В приведенном ниже примере я выбираю текстовое поле и переименовываю его, все, что я хочу, - это иметь возможность ссылаться на них по имени, и я полагаю, что это приближает меня.
ActiveSheet.Shapes.Range(Array("TextBox 2")).Select
Selection.ShapeRange.Name = "TextBox 3"
Это то, что у меня есть в Python, так чтодалеко до этого конца.
import win32com.client as win32
excel = win32.gencache.EnsureDispatch('Excel.Application')
wb = excel.Workbooks.Open("C:\\users\\khillstr\\Testing\\Scripts\\Book1.xlsx")
excel.Visible = True
ws = wb.Worksheets
for w in ws:
print w.Name
w.Activate
canvas = w.Shapes
for shp in canvas:
if shp.TextFrame.Characters:
print shp.TextFrame2.TextRange