2012-05-08 9 views
2

Excelファイルでデータと数式を操作するためにPythonとCOMを使いたいです。私はPythonでいくつかのモジュールの周りを見てきましたが、私はまだ数式を読むためのサポートを見つける必要があります。だから私はCOMを使うことを余儀なくされている。私はそれを何と呼ぶべきかはわかりませんが、Python上で利用できるすべてのクラスとメソッドのドキュメント、COM for excelのようなものがあります。ここにはいくつかのサンプルコードがありますが、私は何をしたいのかに関する網羅的な文書を見つけることができません。Excelのpython COMオブジェクトのドキュメントですか?

import win32com 
import win32com.client 
xl = win32com.client.Dispatch("Excel.application") 
xl.__doc__ 

私はXLの後にTABを打った時には、上記の選択()メソッドは表示されません

sel = xl.Selection 

最後の行は、Excelアプリケーションのための方法やドキュメントのリストを印刷するだろうと思いました。私はpyxllサンプルモジュールから読み込むため、Selectionメソッドがあることを知っています。だから私はそこにTABメニューに含まれていないメソッドがもっとあると思う。

sel.Value = "Hello!" 
sel.font.bold = true 

Traceback (most recent call last): 
File "<pyshell#8>", line 1, in <module> 
sel.font.bold = true 
NameError: name 'true' is not defined 

sel.font.bold = 1 
sel.font = "Constantia" 

Traceback (most recent call last): 
File "<pyshell#10>", line 1, in <module> 
sel.font = "Constantia" 
File "C:\Python27\lib\site-packages\win32com\client\dynamic.py", line 570, in __setattr__ 
raise AttributeError("Property '%s.%s' can not be set." % (self._username_, attr)) 
AttributeError: Property '<unknown>.font' can not be set. 

だから、私は/方法が私には利用可能なオブジェクトを知っている私はこれで周りに推測しているが、私は適切な文書で勉強したいです。誰かが私を正しい方向に向けることができますか?前もって感謝します!

答えて

0

Trueは、大文字と小文字が区別されます:sel.font.bold=Trueが動作します。

FontはConstantiaに次のように設定できます:sel.font.Name="Constantia"

私はPythonCOMのドキュメントも知らないのですが、このインターフェイスはVisual BasicのプロパティをPythonに変換するので、VBAのドキュメントに従うことができます。多くの場合、VBAコードはほぼそのまま使用できますVBAの定型文と制御構造をPythonに相当するものに変更する必要があります。

2

最近、私たちはこれらのインターフェイスで苦労しました。ヘルプページon the Microsoft websiteから作業してみてください。

例はC#/ VB.NETにありますので、これらの言語のどれかを知っていれば助かります。楽しんでください! :)

+0

リンクDwurfに感謝します。 –

関連する問題