問題タブ [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.
python - ADO と win32com を使用して SQL Server メッセージを取得する
現在、コンピューターに詳しくないユーザーが SQL Server データベースを簡単にバックアップできるようにするツールを作成しようとしています。
これを行うには、ADO、win32com、および adodbapi の興味深い組み合わせを使用したいと考えています。現在、サーバーに簡単に接続して、BACKUP DATABASE
T-SQL コマンドを発行できます。
これは機能しますが、コマンドの実行に時間がかかることがよくあります (特に非常に大規模なデータベースでは)。この目的のために、InfoMessage
イベント ( MSDN ) をキャプチャして解析し、それを使用してパーセンテージ バー/カウンターを表示することを望んでいました。
これも管理しましたが、イベントを解析するという最後のハードルで立ち往生しています。MSDNのドキュメントによると、パラメーターでErrorオブジェクトまたはErrorsオブジェクトを渡す必要がありpError
ます。しかし、win32com はPyIUnknown
、対処方法がわからないオブジェクトを渡します。
以下は、これまでに書いたコードです。
イベントから情報メッセージを抽出できる人はいますか?
これはVBで実装されています(私は思う)
これらのメッセージの例として、SQL Server Management Studio を起動し、スクリプトを使用してバックアップを実行します (バックアップ ダイアログと左上のスクリプト ボタンを使用してスクリプトを生成できます)。スクリプトを実行すると、メッセージ ボックスに完了率のメッセージが表示されます。これらは私が欲しいものです。
編集:
以下は、に渡される COM オブジェクトを調べるために使用している新しいコードですInfoMessage
。これは以下の回答に基づいています。他の誰かがそれを必要とする場合に備えて、ここに置いています。
python - Python と win32com ですべての InfoMessage イベントを取得できない
InfoMessage
現在、コマンドの実行時に ADO (および SQL サーバー) からイベントによって返される完了メッセージのパーセンテージを取得しようとしていますBACKUP
。(詳細については、私の以前の質問を参照してください)。
SQLサーバーに接続してSQLコマンドを発行し、イベントを取得してイベントを返すことができました。ただし、BACKUP
コマンドを実行するとcmd.Execute
、バックアップが完了するまでメソッドがブロックされます。
しかし、この間に 1つの InfoMessage
イベント コール (「1 パーセント完了」などのメッセージが表示されます) を受信し、その後はそれ以上イベントを受信しません。
ストアド プロシージャを使用してこれを試しました。ストアド プロシージャは 3 つのメッセージを出力しますが、ここでも最初のメッセージだけが表示されます。
を呼び出す必要があると思いますpythoncom.PumpWaitingMessages()
が、cmd.Execute()
呼び出しがブロックされるため、何の役にも立ちません。
InfoMessage
1 つのイベントだけでなく、それ以上のものを取得する方法を誰かが考え出すことはできますか?
以下は、私が現在使用しているコードです。
python - シンプルな音楽プレーヤーが再生されない
簡単な音楽プレーヤーを書こうとしています。なんらかの理由でmp3ファイルを選択して再生ボタンを押しても音が出ません。エラーなし、何もありません。コマンドをスキップしているようです。なぜそれがこれをしているのか誰か知っていますか?Pythonで音楽を再生するためのより良い方法がある場合、それは何ですか?
python - Pythonを使用して.docからpdfに
私は大量の.docファイルを.pdfに変換する任務を負っています。そして、上司が私にこれを行うことを望んでいる唯一の方法は、MSWord2010を使用することです。PythonCOM自動化でこれを自動化できるはずです。唯一の問題は、どこからどのように始めればよいかわからないことです。いくつかのチュートリアルを検索しようとしましたが、見つかりませんでした(あるかもしれませんが、何を探しているのかわかりません)。
今、私はこれを読んでいます。これがどれほど役立つかわからない。
python - Python Win32、XLSをCSVとして保存する方法は?
win32com で .xlsx を読み込んでいます。完了したら結果を csv として保存したいと思います。
拡張子が csv の xlsx ファイルが返ってきます。実際の CSV として保存するにはどうすればよいですか?
python - Python win32com のすべての既定のアドインを使用して Excel を実行するにはどうすればよいですか?
これにより Excel が起動しますが、何らかの理由でプラグインが読み込まれません。
Excel が既に読み込まれている場合、プラグインは読み込まれたままになり、アクセス可能になります。
お知らせ下さい。
コンテキスト:独自のプラグインを使用して呼び出しを行うワークシートからデータをスクレイピングしています。プラグインがロードされない場合、スクレイピングする必要があるすべてのセルでエラーがスローされます。
c - Win32 PrintDlg、PrintDlgEx、クラッシュと奇抜さ
次の問題を解決する必要があります。PrintDlg()関数を呼び出すと、64ビットマシンで実行しているときにアプリケーションがクラッシュします。
掘り下げて髪を引っ張った後、私は、PrintDlg()の元の呼び出しをその兄であるPrintDlgEx()に置き換えることが最善の解決策であると判断しました。
そうすることで、1つの問題は修正されますが(クラッシュしなくなります!)、別の問題が発生します。コードを実行すると、印刷ダイアログが表示されず、成功コードが返され、デフォルトのプリンターのすべての情報が表示されます。標準の「印刷設定」ウィンドウを表示するには、この関数が必要です。どうすればそれを実現できるのかわかりません。以下に示すのは、ダイアログを表示するために使用しようとしているサンプル値です。
何かご意見は?前もって感謝します。
python - python win32 COMがExcelワークブックを閉じる
COM でいくつかの異なるワークブック (Excel xlsx 形式) を開き、それらをいじります。プログラムの進行に合わせて、特定のワークブックを 1 つ閉じ、残りは開いたままにしたいと考えています。
1 つのワークブックを閉じるにはどうすればよいですか? (Excel アプリケーション全体ではなく)
python - Python - win32com を使用した追加の Excel チャート シリーズ
課題のコードを書いていて、Excel で簡単な縦棒グラフを作成する必要があります。今日の午後、私は win32com (ちなみにすばらしいツール) を見つけましたが、それに関するドキュメントがないか、それを見つけることができなかったために苦しんでいました ^^
私はチャートをいじっていますが、少し例外を除いて、私がやりたいことができたと思います.私が書いた関数は常に2つの一連の列を作成します.
これは私が持っているものです:
チャート内に新しいシリーズを作成すると、必要なすべての情報が含まれています。ただし、スクリプトを実行すると、同じ情報 (ペア) を持つ 4 列の Excel グラフが作成されます。できる限りのことをしましたが、X 軸でこの 2 番目の一連の値を作成しているものを見つけることができません...
どんな助けにも感謝します^^ありがとう!
python - pywin32から作成されたPython実行可能ファイルのdllロードエラー
64ビットのPythonインタープリターと32ビットのPythonインタープリターの両方を備えたpy2exeを使用してPython実行可能ファイルを作成しました。
私のプログラムでは、モジュールを使用しているpywin32 com
ので、実行可能ファイルを作成する前に、プログラムの64ビットバージョンと32ビットバージョンの両方をダウンロードしてインストールしました。
64ビットexeは正常に動作しますが、32ビットexeには次の問題があります。
ソースを直接実行して両方のバージョンを試しました。つまりpython program.py
、C:\python_32\python.exe program.py
両方とも正常に動作します。
注:64ビットのexeを64ビットのWindows 7コンピューターでテストし、32ビットのexeを32ビットのWindowsXPコンピューターでテストしました。