1

pywinデモからexceladdin.pyの例を変更しようとしています。

それ以外の場合は変更できますが、例で示したclsidを置き換えると次のようになります。

"{C5482ECA-F559-45A0-B078-B2036E6F011A}"

genguid.exeまたはpythoncom.CreateGuid()によって生成されたものを使用します。例:

"{E44EF798-7FDF-4015-AED6-00234CBBBA77}"

com-addinが機能しなくなります。トレースなし、エラーなしExcelのcom-objectsリスト(翻訳)の次のテキスト「アドインがロードされていません。comオブジェクトのロード中に実行時にエラーが発生しました。」

clsidを生成する手順がありませんか?

編集:私は問題を見つけたと思います...clsidはdllのIDです。Pythonの場合、clsidはpythoncomloader27.dllを参照します。これは正しいですか?...それでも正しいPythonファイルを読み込めません。clsidは、何らかの形でpythoncomloaderと元のpythonfileにリンクされています。新しいclsidを生成する場合、それをpythonloaderにリンクする必要がありますか?どのように?

4

1 に答える 1

0

わかりました、私は答えを見つけたと思います...

すべてをroot(admin)として実行しない限り、Pythonを「プログラムファイル」フォルダーにインストールすることはできません。

com-service読み取り/書き込み<pythonInstallationDir>/Lib/win32com/gen-pyディレクトリを登録するPythonプログラム。Word(またはcomサービスを使用するプログラム)は、そこにも書き込み(?)できる必要があります。人間が読めない辞書などがあります。

pythonをc:/python27にインストールすると問題が解決しました。これで、登録プログラムのみをrootとして実行する必要があります。Wordは通常のユーザーとして実行できます。私の場合、2回目(初めて正しく登録したとき)に十分な権限を与えずに辞書を台無しにしてしまい、元のキーを使用していたと思います。

于 2012-09-02T20:41:31.927 に答える