問題タブ [win32com]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
349 参照

python - win32com モジュールを使用した CPython による RegFree DLL

現在、CPython の win32com モジュールを使用して DLL を使用しています。IronPython を使用して、この DLL が提供する関数のリストを自動的に取得する人がいることを知っています。DLL を登録する必要はありません。

私は彼らと同じことをしたいのですが、CPythonを使います。

1) CPython と win32com を使用して dll reg-free に接続することは可能ですか? reg-freeにする方法は?

2) DLL が提供する関数のリストを取得する方法は? 関数の全リストを提供する CPython モジュールを作成したいと思います。

何か案が?

0 投票する
1 に答える
4766 参照

python - Python win32com: Excel でグラフの種類を折れ線に設定

この VBA マクロは次のように機能します。

この Python の (ほぼ) 同等のものは、ほぼ動作します。

最後のビットは別として、グラフの種類を「xlLine」(プレーンな折れ線グラフ) にすることができません。何か案は ?

0 投票する
2 に答える
487 参照

excel - Excel VBA に更新された COM サーバーを強制的に使用させる方法

Excel VBAから使用するCOMサーバーを開発しています。サーバーを更新すると (コードの編集、登録解除、再登録)、Excel は更新されたバージョンではなく、元のバージョンの COM サーバーを引き続き使用しているようです。更新されたバージョンを使用するために私が見つけた唯一の方法は、Excel を閉じて再度開くことですが、これは少しイライラします。Excel に新しく登録されたバージョンを強制的に使用させる方法はありますか (おそらく、ある種の「キャッシュのクリア」オプション)。

詳細:

サーバーは、win32com を使用して Python で開発されています。

VBAでは、次のようなことをしています:

Foo.Bar は、レジストリに登録した COM サーバーです。

サーバーを登録解除してから VBA コードを実行すると、VBA から「オブジェクトを作成できません」というエラーが表示されるため、何かが起こっていることを認識する必要があります。しかし、再登録すると、古いバージョンが取得されます。

ヒントをいただければ幸いです。

ありがとう、

アンディ

0 投票する
3 に答える
3729 参照

python - py2exe/pyinstallerおよびDispatchWithEvents

win32comライブラリを使用してiTunesを制御するプログラムがありますが、実行可能ファイルにコンパイルする際に問題が発生しています。問題は、DispatchWithEventsの代わりにを使用することを中心に展開しているようですDispatch。私は自分の問題を説明するために非常に簡単なプログラムを作成しました:

を使用するDispatchと、プログラムは正しくコンパイルおよび実行されます。を使用DispatchWithEventsすると、コマンドラインから呼び出されたときにプログラムは正常に実行されますが、exeを実行すると次のエラーが発生します。

PyInstallerを使用してみましたが、同様のエラーが発生します。

ファイルにtypelibを手動で追加できることはわかっていsetup.pyますが、再コンパイルせずに異なるバージョンのiTunesを搭載したコンピューターでコードを実行したいので、動的に作成したいと思います。setup / specでこれを行う方法がない場合、イベントをロードする別の方法があるのではないでしょうか。ありがとう。


添加:

Ryanのおかげで、生成されたpyファイルを取得でき、少し掘り下げた後、次のことがわかりました。

生成されたpyファイル(からmakepy.py)を取得し、名前を。のように変更しcominterface.pyます。次に、イベントハンドラーを使用してCOMオブジェクトを実際に作成するには、次の手順を実行する必要があります。

その後、あなたはあなたのビジネスに取り掛かることができます。

0 投票する
1 に答える
1499 参照

python - ms word doc内のすべての文字列を検索してpythonで置き換えるにはどうすればよいですか?

私は現時点でかなり困惑しています。Can I use Win32 COM to replace text inside a word document? に基づく (Python で) テンプレート ワード doc からワード doc を生成する単純なテンプレート システムをコーディングすることができました。

私の問題は、「テキストフィールド」のテキストがそのように見つからないことです。Word 自体にも、すべてを検索するオプションはありません。実際には、「メイン ドキュメント」と「テキスト フィールド」のどちらかを選択する必要があります。Windows の世界に慣れていないので、VBA ドキュメントを参照しようとしましたが、助けが見つかりませんでした (おそらく「テキスト フィールド」が非常に一般的な用語であるため)。

これは私のコードの関連部分です。私は今ではすべての問題を自分で回避することができました (ヒント: 文字列を 256 文字以上に置き換えたい場合は、クリップボードなどを介して行う必要があります...)

0 投票する
1 に答える
5924 参照

python - win32comを使用してPythonで書き込み予約済みExcelファイルを開く方法は?

Pythonでwin32comを使用して書き込み保護されたmsExcel2007ファイルを開こうとしています-パスワードを知っています。ユーザーがExcelダイアログボックスにパスワードを入力して開くことができます。ユーザーの操作なしでファイルを開くことができるようにしたい。次のことを試しましたが、それでもダイアログボックスが表示されます。

私が間違っていることについて何か考えはありますか?

ありがとう、

デイブ。

0 投票する
1 に答える
2066 参照

python - xlrd の sheet.ncols に相当する win32com

xlrd を使用すると、最後の列が何であるかを簡単に知ることができます。

win32com を使用する簡単な方法はありますか?

ws.UsedRange.Rows.Count を使用してみましたが、正しい答えが得られないようです。

0 投票する
3 に答える
2651 参照

python - win32com が xlrd よりも遅いのはなぜですか?

win32com と xlrd を使用して記述された同じコードがあります。xlrd は 1 秒未満でアルゴリズムを実行しますが、win32com は数分かかります。

これが win32com です。

そして、xlrd

0 投票する
1 に答える
3107 参照

python - Pythonで複数のExcelワークブックを操作する

win32comを使用して、2つのワークブックを開いています。

  1. どれがアクティブであるかをどうやって知るのですか?
  2. どちらがアクティブかをどのように変更しますか?
  3. どうすれば一方を閉じて、もう一方を閉じることができませんか?(Application.Quit()ではありません)
0 投票する
1 に答える
3413 参照

python - ブルームバーグプラグインでExcelを開くPythonwin32com

ブルームバーグプラグインを使用してライブ価格を引き下げるExcel2007スプレッドシートの作成を自動化しようとしています。問題は、win32comでExcelを開いたときに、Bloombergプラグインが読み込まれないことです(したがって、すべての数式で「#NAME?」エラーが発生します)。

プラグインを手動でアンインストールして再インストールすることはできますが、記録されたマクロからVBAコードをコピーすると、「ランタイムエラー「13」:タイプの不一致」エラーが発生します。[終了]ボタンをクリックするとすべてが正常に実行されますが、これを完全に自動化したいと思います。

私のコードは次のとおりです。

DisplayAlerts = Falseに設定しても、ランタイムエラーは検出されません。