0

Excelファイルのテキストボックスからテキストを読み取り、その値を変数に保存したいと思います。私が抱えている問題は、TextBoxの読み取りにあります。私はいくつかの方法を試しましたが、これはエラーを生成しないため、最も有望でしたが、望ましい結果を引き出すこともできませんでした。任意の提案をいただければ幸いです。以下のコードを参照してください。

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"
4

3 に答える 3

1

Canvasは、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
于 2011-08-22T17:21:59.440 に答える
0

shp.TextFrame.Characters.Captionシート上のテキストボックスオブジェクトのテキストを取得するには、Charactersメソッドが文字列ではなくオブジェクトを返すため、使用する必要がありCharactersます。

于 2011-08-22T17:24:30.200 に答える
0
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_Number = row_num、Column_Number = col_num)にあるセルを読み取ります。

于 2016-09-10T18:22:31.280 に答える