![](/img/trans.png)
[英]Python win32com - Automating Word - How to replace text in a text box?
[英]Python win32com - Read text in a text box to a cell?
我想从Excel文件中的文本框中读取文本,然后将该值保存到变量中。 我遇到的问题是阅读文本框。 我尝试了几种方法,这种方法显示出最大的希望,因为它不会产生错误,但是也不会引起期望的结果。 任何建议表示赞赏。 请参见下面的代码。
import win32com.client as win32
excel = win32.gencache.EnsureDispatch('Excel.Application')
wb = excel.Workbooks.Open("C:\\users\\khillstr\\Testing\\Scripts\\Book1.xlsx")
excel.Visible = False
ws = wb.Worksheets
canvas = excel.ActiveSheet.Shapes
for shp in canvas.CanvasItems:
if shp.TextFrame.Characters:
print shp.TextFrame.Characters
else:
print "no"
画布与excel文件中的图形有关。 我认为您想访问这些单元。 下面是将每行打印为元组的代码。
import win32com.client as win32
excel = win32.gencache.EnsureDispatch('Excel.Application')
wb = excel.Workbooks.Open("C:\\users\\khillstr\\Testing\\Scripts\\Book1.xlsx")
excel.Visible = False
sheet = wb.Worksheets(1)
for row in sheet.UsedRange.Value:
print row
import win32com.client as win32
file_name = 'path_to_excel'
excel = win32.gencache.EnsureDispatch('Excel.Application')
wb = excel.Workbooks.Open(self.file_name)
excel.Visible = False
sheet = wb.Worksheets(1)
deep = lambda r,c: sheet.Cells(r,c)
print(deep(row_num,col_num))
excel.Application.Quit()
此代码将打开位于“ path_to_excel”的excel,并读取位于(行编号= row_num,列编号= col_num)的单元格
要在工作表上的文本框对象中获取文本,您需要使用shp.TextFrame.Characters.Caption
因为Characters
方法返回的是Characters
对象而不是字符串。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.