2

私はいくつかのPythonを学ぼうとしていますが、Pythonがwin32モジュールを使用してExcelと対話することを望んでいました。私はここのウィキでオンラインで基本的な例を見つけました。

ただし、機能しません。これは私が得るエラーです。

Traceback (most recent call last):
  File "C:/Users/Greg/Desktop/python programming/excel2.py", line 8, in <module>
    sheet.Range("A2").Value = str(Application.SIFilter(None, c.siObjectFilter))
NameError: name 'Application' is not defined

私の質問は、その行が正確に何をするのか、そしてなぜエラーが発生するのかということです。

sheet.Range( "A2")。Value = str(Application.SIFilter(None、c.siObjectFilter))

import win32com.client
from win32com.client import constants as c

excel = win32com.client.Dispatch("Excel.Application")
book = excel.Workbooks.Add()
sheet = book.Worksheets(1)
sheet.Range("A1").Value = "Hello World!"
sheet.Range("A2").Value = str(Application.SIFilter(None, c.siObjectFilter))
book.SaveAs("c:\simple_example.xls")

sheet = None
book = None
excel.Quit()
excel = None

私が超初心者ならごめんなさい…。

4

2 に答える 2

3

リンク先のコードは、このブログからそのまま引き出されたようです。その音から、あなたはSoftimageと統合しようとしていません。その行を取り出したいと思うでしょう。

また、Excel 2007 以降を使用している場合は、xlsxファイルに書き込む必要があります。これExcel.Applicationは、ファイルが作成されるためです。

これらの変更で変更された同じサンプル コードを次に示します。

import win32com.client

excel = win32com.client.Dispatch("Excel.Application")
book = excel.Workbooks.Add()
sheet = book.Worksheets(1)
sheet.Range("A1").Value = "Hello World!"
book.SaveAs("c:\simple_example.xlsx") # or .xls depending on version

sheet = None
book = None
excel.Quit()
excel = None
于 2012-04-15T18:43:31.693 に答える
0

この行で:

sheet.Range("A2").Value = str(Application.SIFilter(None, c.siObjectFilter))

あなたは文字列に変えようとしApplication.SIFilter(None, c.siObjectFilter)ています。というオブジェクトが定義されていませんApplication。コードは実行していませんが、 と書けば動くのではないかと思いますexcel.SIFilter(None, c.siObjectFilter)。学習しようとしているだけの場合は、別のことを書くと、Excel ファイルが得られます。

于 2012-04-15T18:44:31.847 に答える