2016-08-13 18 views
1

私は、win32comを使用してパワーポイントを自動化しようとしています。スクリプトで定数をインポートまたは使用できません。私はmakepyを使ってライブラリを作成しました。以下はエラーメッセージ&スクリプトです。誰かが定数をインポートする方法を教えてもらえますか?パワーポイントを自動化するためにwin32com定数を使用することができません

スクリプト:

import win32com.client 

Application =win32com.client.gencache.EnsureDispatch("PowerPoint.Application") 
Presentation = Application.Presentations.Add() 
Base = Presentation.Slides.Add(1, ppLayoutBlank) 

エラーメッセージ:

トレースバック(最新の呼び出しの最後): ベース= Presentation.Slides.Add(1 ファイル "ppt.py"、ライン14、 、ppLayoutBlank) NameError:名前 'ppLayoutBlank'が定義されていません

+0

www.pptxbuilder.comを試してみると、pptxsを自動化します –

答えて

0

選択したINTEROPメソッドは、接続先のアプリケーションインターフェイスによって異なります。

通常、このような変数はありませんが、Pythonはこのような場合にNameErrorを発生させることがよくあります。だからちょうどここで起こっていることは少し不明です。

したがって、PPointのバージョンと通信する方法によって異なります。

私はすなわち、右ボタンにキーの押下および/またはクリックなどをエミュレートし、代わりにpywinautoを使用し、「brute_force」のために行くことをアドバイス、menuesなど

のthousの名前は変更に少しにくいのでCOMインターフェイスよりもバージョンのバージョンが少なくなっています。

マイクロソフトではインターフェイスを少し変更するという厄介な癖があり、プログラムの動作が停止します。

win32comを主張する場合、特定のバージョン(またはOfficeバージョン)のPPointのドキュメント、およびPythonバージョンのwin32comのドキュメントを読む必要があります。

COMクライアントを起動する必要があるかどうか、または使用する必要がある他のMS調整があるかどうかを確認する必要があります。

0

私は現在、Linuxの下だと、ここでテストしたが、

import win32com.client.constants 

にしてみてください...そしてそのモジュールで定義された定数を探すことができません。 How to use win32com.client.constants with MS Word?も参照してください。

関連する問題