3

Python と COM を使用して、Excel ファイルのデータと数式を操作したいと考えています。私はPythonでいくつかのモジュールを見てきましたが、数式を読むためのサポートをまだ見つけていません. だから私はCOMを使用することを余儀なくされています。私はそれを何と呼ぶべきかわかりませんが、Python、COM for Excelで利用可能なすべてのクラスとメソッドのドキュメントのようなものはありますか. あちこちにいくつかのサンプル コードがありますが、私がやりたいことについての完全なドキュメントを見つけることができないようです。

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

最後の行には、Excel アプリケーションのメソッドまたはドキュメントのリストが出力されると思いました

sel = xl.Selection

上記の Selection() メソッドは、xl の後に TAB を押すと表示されません。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.

だから私はこれについて推測していますが、適切なドキュメントで学びたいので、どのオブジェクト/メソッドが利用できるかを知っています. 誰かが私を正しい方向に向けることができますか? 前もって感謝します!

4

2 に答える 2

2

最近、これらのインターフェースに苦労しました。Microsoft Web サイトのヘルプ ページから作業してみてください。

例は C# / VB.NET で書かれているので、これらの言語のいずれかを知っていると役立ちます... 楽しんでください! :)

于 2012-05-08T08:42:45.533 に答える
0

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

フォントは次のようにConstantiaに設定できますsel.font.Name="Constantia"

PythonCOMのドキュメントも知りませんが、インターフェイスはVisual BasicのプロパティをPythonにほぼ変換するため、VBAのドキュメントに従うだけで済みます。多くの場合、VBAコードはほぼ逐語的に機能します。もちろん、VBAを変更する必要があります。ボイラープレートと制御構造をPythonの同等のものに。

于 2012-05-08T08:30:29.487 に答える