問題タブ [ole]

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 に答える
1121 参照

com - R言語でのCOMの使用

R用のrcomパッケージを動作させようとしています。正常にインストールされたようです:

それから私は何かを実行しようとします:

何が欠けているのか、マニュアルにはcomCreateObjectが適切なコマンドであると書かれています。ただし、マニュアルのバージョンはやや古いです。他の誰かが何か洞察を持っていますか?

0 投票する
4 に答える
871 参照

python - MSWord 文書の保存が警告なしに失敗するのはなぜですか?

多くのファイルでいくつかのカスタム プロパティ値を変更する必要があります。コードの例を次に示します-単一のファイルに対してどのように行うか:

同じコードを"Excel.Application"(マイナーな変更を加えて - 動作させるためだけに) 実行すると、優れた結果が得られます。ただし、doc.Save()またはdoc.SaveAs(same_file)MSWord を使用しているときは、黙って失敗します。理由はわかりませんが、変更が保存されません。

私の回避策はSaveAs、別のファイルを使用することです。これもうまく機能します。しかし、なぜ MSWord ファイルに対してこのような奇妙な動作をするのか、またどのように修正できるのかを理解したいですか?

編集:try/exceptのサイレント失敗の原因で人々を誤解させないように、コードを変更しました。しかし、私のコードでその欠陥を見つけてくれたすべての人に感謝します:)

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

c++ - OLE を使用して Excel アプリケーションを終了する

OLE オートメーションを使用して Excel アプリケーションを手動で終了するにはどうすればよいですか?

関数がエラーをスローした場合に Excel プロセスが実行されたままにならないように、いくつかの例外処理でこれを行いたいと思います。

現在、以下のコードを使用して Excel を開きます。

Variant excel = Variant::CreateObject("Excel.Application");

0 投票する
4 に答える
373 参照

c++ - COM 経由で開始されたプロセスに再接続する

まず、COM/OLE2 API を使用する必要があることに注意してください。これは、低レベルのものであり、C Windows コンソール プログラムに入れることができるものです。MFCが使えません。.NET を使用できません。

私の質問は:

次のコードがあるとします。

後で同じ IE のインスタンスに再接続できるように、ディスクに情報を書き込む方法はありますか? 基本的に、「iePtr_」を文字列化して、後で他のプロセスで再構成できますか?

ありがとう。

----後から追加------

私が解決しようとしているより広い問題は、AutoCAD アプリケーションを起動し、それにいくつかのデータをロードし、クライアントが対話できるように実行したままにしたいということです。後で彼は私のアプリケーションに戻ります。私は同じ AutoCAD セッションに再接続して、より多くのデータをフィードしたいと考えています。

これで、アプリケーションのメモリに IDispatch ポインタを保持できることが十分にわかりました。同じ AutoCAD プロセスとやり取りし続けることができます。それが私のフォールバックポジションです。

ただし、「ラッパー」プログラムを使用して COM を実行しています。したがって、ラッパーは一時的です。私のメイン アプリケーションはラッパーを起動し、ラッパーが通信して終了します。後続のラッパー プロセスが同じ AutoCAD プロセスに再接続できるようにしたいだけです。

ラッパーを使用する理由 動作する理由は次のとおりです。私のメイン アプリケーションは 32 ビット アプリケーションですが、64 ビット ラッパーを使用して 64 ビット AutoCAD と通信できます。64 ビットの AutoCAD と通信できるようにする必要があり、メイン アプリケーション (C++ の 50 万行以上) とラッパー プログラム (数百行) を簡単に移植できない可能性があります。

0 投票する
4 に答える
1540 参照

c# - C#から、任意のアプリケーションを開きます

関連する質問[stackoverflow]はこちら

私は上記を実行しようとしていますが、プロセスをさらに一歩進めたいと思います。ファイルタイプのデフォルトエディタを使用して任意のファイルを開きたい。その時点から、ユーザーが通常どおりにファイルを操作できるようにするか、アプリケーションで作業を続行できるようにします。拡張機能は、ユーザーが編集を終了した後に発生するものです。外部アプリケーションからクローズ(理想的には保存)イベントをキャプチャし、それをトリガーとして使用して他のことを行う方法はありますか?私の目的では、外部アプリケーションの終了を追跡することで十分です。

私は特定の場合にこれを行うことができます。たとえば、アプリケーションからWordインスタンスを開いて、アプリケーションに関係するイベントを追跡できます。ただし、アプリケーションをWordから切り離したいのですが、ユーザーが任意のドキュメントエディターを使用できるようにし、バックグラウンドで個別に編集されているファイルのストレージを管理できるようにします。

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

internet-explorer - ActiveX コントロールは、Internet Explorer 内で印刷、名前を付けて保存、検索などをどのように引き継ぐことができますか?

Adobe が PDF を表示する ActiveX コントロールを持っているように、IE 内で特定のファイル形式のドキュメントを表示する ActiveX コントロールを持っています。

私のコントロールは、PDF ビューアと同様にフルページ コントロールです。IE 独自のEnableFullPage メカニズムを使用して、IE のクライアント領域全体を占有します。

印刷、印刷プレビュー、ページ設定、名前を付けて保存、すべて選択、コピー、検索など、ドキュメントに関連するさまざまなメニューおよびツールバー コマンドを制御したいと考えています。PDFビューアがそれを行うので、これを行うための公式APIが必要だと思います。(たとえば、埋め込まれた ActiveXコントロールを印刷するための標準的なメカニズムは適用されないことに注意してください。PDF ビューアーと同じように、独自の [印刷] ダイアログを表示してプロセス全体を制御する必要があります。)

(IE8 より前は、Win32 サブクラス化を使用して IE 自体をハックすることでそれを行うことができました。これは厄介ですが機能します。しかし、IE8 では、ツールバーとは別のプロセスでタブの内容が保持されるため、DLL インジェクションなしではオプションではありません。 Adobe PDF ビューアがそれを行っていないことがわかります. そのため、公式のメカニズムがあると私は信じています.)

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

excel - メールマージによって開始されたExcelインスタンスを閉じる方法

メールマージによって開始されたExcelインスタンスを閉じる方法

ランチャー内で実行されているこのコードは、DDEを介して実行されているExcelにアクセスできませんか?

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

excel - Excel:OL​​Eからマクロ記録を開始する方法

OLEを介してExcelインスタンスを制御し、マクロ記録を開始したい。コードを介してそれを行うことはできますか?私が見つけた唯一のものはApplication.RecordMacroであり、それは私が必要とすることをしません。