2

このチュートリアルのように、 pyvotを使用して Excel ワークブックを作成したいと思います。エラーなしでインポートできるため、Pyvot は正しくインストールされています。しかし、私がするとき:

import xl
xl.Workbook()

次のエラーが表示されます。

Traceback (most recent call last):
  File "", line 1, in 
AttributeError: 'module' object has no attribute 'workbook'
>>> xl.Workbook()
Traceback (most recent call last):
  File "", line 1, in 
  File "C:\Python27\lib\site-packages\pyvot-0.1.2-py2.7.egg\xl\sheet.py", line 91, in     __init__
    excel = win32.gencache.EnsureDispatch('Excel.Application')
  File "C:\Python27\lib\site-packages\win32com\client\gencache.py", line 529, in EnsureDispatch
    disp = win32com.client.Dispatch(prog_id)
  File "C:\Python27\lib\site-packages\win32com\client\__init__.py", line 95, in Dispatch
    dispatch, userName = dynamic._GetGoodDispatchAndUserName(dispatch,userName,clsctx)
  File "C:\Python27\lib\site-packages\win32com\client\dynamic.py", line 108, in _GetGoodDispatchAndUserName
    return (_GetGoodDispatch(IDispatch, clsctx), userName)
  File "C:\Python27\lib\site-packages\win32com\client\dynamic.py", line 85, in _GetGoodDispatch
    IDispatch = pythoncom.CoCreateInstance(IDispatch, None, clsctx, pythoncom.IID_IDispatch)
com_error: (-2147221005, 'Invalid class string', None, None)

ただし、Visual Studio 用の Python ツールがインストールされていません。

  1. pyvot を使用するには、Visual Studio (PTVS) 用の Python ツールが必要ですか?

  2. Excel 2010 (Excel 2007 など) よりも古いバージョンの Excel は pyvot で動作しますか?

  3. pyvot で動作させるには、Excel で何か設定する必要がありますか?

上記の質問のいずれかに対する回答で、そのコード スニペットを機能させることができなかった理由が説明されていない場合、正しく機能させるにはどうすればよいですか?


Excel 2010 をインストールしました。 Pyvot をインストールしてもエラーが発生しないため、正しくインストールされていますimport xl。pywin32 で次のように入力すると:

import xl
xl.Workbook()

私はこの NameError を取得します:

Traceback (most recent call last):
  File "<interactive input>", line 1, in <module>
NameError: name 'xl' is not defined

誰かが理由を知っていますか?

4

2 に答える 2

2

Pyvotホームページから:

Pyvotには、Python for Windows拡張機能(pywin32)がインストールされたCPython 2.6または2.7、およびOffice 2010が必要です。クリーンなPythonセッションでwin32comモジュールをインポートできる場合、Pyvotをインストールする準備ができています。

したがって、説明されていることから、PTVS、Excel 2010は必要なくwin32com、現在のインタープリターでモジュールを起動して実行する必要があります。私はこの構成を問題なく使用しています。

于 2012-04-30T09:07:37.813 に答える
1

私にも同じことが起こりました、私は今日それを試しました。
試してください:xl.workbooks()

これはVBAコードと一致しています。

于 2013-03-20T01:03:29.957 に答える