問題タブ [ole-automation]

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 投票する
2 に答える
569 参照

delphi - MSWord ドキュメント イベントをキャッチするための IAdviseSink のセットアップ

これは、新しく作成された MSWord ドキュメントのいくつかのイベントをキャッチするためIAdviseSinkに、クラスに実装されたインターフェイスをセットアップしようとするコードです。TForm1コードの実行中にエラーは発生しませんが、ドキュメントを保存または閉じるときにイベントをキャッチできません。IAdviseSinkMSWord ドキュメントを正しくセットアップする方法

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

windows - PowerShellからOLEオートメーション(IDispatch)サーバーと通信する

WindowsPowershellのOLEオートメーション(IDispatch)サーバーとの通信に興味があります。誰かがこれを行うことを説明するいくつかの簡単なサンプルコードを私に指摘できますか?New-Object -com My.App.Interfaceを使用してオブジェクトを作成できることはわかっていますが、それと話すことは別の問題です。この場合、そのOLEオートメーション(IDispatch)インターフェイスなので、返されたオブジェクトでメソッドを呼び出すだけでなく、IDispatchのInvokeメソッドを呼び出しています。

それで、とにかく、私が出発点として使用できるこれを行うためのいくつかのサンプルを誰かが私に指摘できるかどうか疑問に思っています。

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

delphi - MS Word などの OLE オートメーション オブジェクトにパラメーターを渡す方法

これは主に、Delphi 構文に関連する質問です。OLE オブジェクトのメソッドを呼び出すときに、パラメーターを True に設定する必要があります。

Word Automation で設定する必要があります (これはWord Referenceからのものです)。

例として、これを実行したいダミーの手順を次に示します (WordApp.Quit に注意してください)。

ここで(受け入れられた回答を確認してください)同じことが行われているようですが、試してみるとコンパイルされません。関連する部分のみをここにコピーします。

重要: を使用する代わりに

使用することが可能です

上記の 2 つのアプローチのいずれかが使用されるように、上記の GetWordVersion 手順を変更してください。ありがとう。

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

c# - Web サイトからのリモート マシンでのプログラム実行 Excel マクロ

ユーザーがマクロを使用して Excel レポートを生成する Web サイトを持っています。ローカル マシンで実行しようとすると、完全に生成され、Excel 内でマクロが実行されます。サーバーに公開すると同時にそこにログインし(RDPオープンセッション)、そのサーバー外のブラウザーから実行しようとすると、期待どおりに実行されます。この問題は、サーバー (RDP) でログオフし、サーバーの外部 (つまり、自分のマシン) のブラウザーでマクロを実行すると発生します。マクロは実行されず、Excel が作成されます。

これは私が使用しているコードです

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

c# - C#の日時ピッカー値への自動化の日付

SQL サーバーからいくつかのデータをフェッチし、フロント エンド C# ウィンドウ フォームに表示しようとしています。

dtpMcAccExp.Text = DateTime.FromOADate(Convert.ToDouble(reply.Rows[0]["ExpiryDate"])).AddDays(2).ToString("dd/MM/yyyy");

ここで、dtpMcAccExp は DatTimePicker であり、reply は SQL クエリの返信を取得するデータ テーブルです。

私はExpiryDateにOLE日付を取得し、2日前の日付(デルファイシステムが更新するために使用するため)を取得するため、実際の日付を取得するには2日を追加する必要があります。

理解できる限り休んでください。

問題は..システムの日付時刻設定の短い日付が「dd/MM/yyyy」である一部のコンピューターでは正常に動作しますが、短い日付が「M/d/yyyy」である一部のコンピューターではエラーが発生します」文字列は有効な日時として認識されませんでした.."

したがって、解決策は、アプリケーションを実行するすべてのクライアントコンピューターの短い日付を「dd/MM/yyyy」に変更することです。

または、他の解決策、つまりコーディングを変更できます。助けてください。どうもありがとう..

0 投票する
0 に答える
114 参照

windows-7 - VBS、Windows732で800a0adエラー

SCADAシステムに組み込まれたVBSスクリプトエンジンで使用するために、C ++とATL(VS2010)を使用して単純なActiveXDllオブジェクトを作成しました。今では単なるコードの死骸であり、スタブとのインターフェースであり、依存関係はありません。クライアント側から呼び出されるように設計されたすべてのインターフェースには、デュアルインターフェースがあります。このオブジェクトはOLE/COM Object Viewerから表示でき、そこからインスタンス化できます。デバッグ目的でC#の相互運用サービスを使用してこのActiveXオブジェクトをインスタンス化することに問題はありません。

ただし、これをwscript(vbs)からインスタンス化しようとすると、この800a0adエラーが発生します。

オペレーティングシステムはWindows7(32ビット)であり、x64ではありません。

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

sql-server - VFP Chrome または FireFox オブジェクトを作成する

VFP アプリケーションがあり、Chrome または Firefox で特定のサイトを開く必要があります。このサイトは、これらのブラウザーのいずれかに最適化されています。

Createobjectアプリケーション内でブラウザをInternetExplorer.Application開く方法はわかっています。これにより、ブラウザと対話することができます。ただし、 でのみ機能しIEます。

またはを使用して同じ目的を達成する方法を知っている人はいますChromeFirefox?

これは、デフォルトのブラウザー (ChromeまたはFirefox) を開くために行いました。

このアプローチの問題点は、ブラウザを開くだけで、それとやり取りできないことです (たとえば、値を渡したり、ページ上の項目を読み取ったりします)。

少なくとも、a を使用せずに POST パラメータをChromeorで渡すことができれば、それは許容できる開始点です。Firefoxquerystring

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

debugging - Jenkins が SYSTEM ユーザーとして起動するバックグラウンド IDE をデバッグする方法

Windows 7 で Jenkins CI サーバーを正常に使用しています。主に CodeWarrior を使用してコンパイルします。Perl の Win32::OLE ライブラリを使用して IDE を自動化し、最近、コンパイルしてデバッガを起動し、ターゲット ハードウェアでテスト スレッドを実行して停止する新しい単体テスト ジョブを追加しました。自分のユーザー名でコマンド ラインから起動すると問題なく動作しますが、Jenkins が同じタスクを起動すると、IDE がすべての CPU を消費し、終了しません。Windows タスク マネージャーで、IDE が SYSTEM ユーザーとして実行されていることがわかります。OLE オートメーションで説明していない新しいポップアップ メッセージがあると思われますが、現在はバックグラウンド タスクであるため表示できません。

Jenkins がシステム ユーザーとして起動したが表示されないウィンドウをデバッグするのに役立つツールまたは手法はありますか?

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

delphi - DelphiOleAutomation-名前を付けて保存ダイアログなしでWord2010にWord97-2003ファイルを保存

Delphi6とWord2010を使用してWord97-2003ドキュメント(.doc)を保存しようとしています。

Word 2010より前は、すべてが正常に機能していました

どこFileName := 'c:\doc.doc'

現在、Word 2010には保存ダイアログが表示されますが、その理由はわかりません。新しいSaveAs2メソッドを試しました

しかし、同じ結果になります。

奇妙なことに、

[名前を付けて保存]ダイアログがなくても正常に機能しますが、保存されたファイルにはWord 2010形式と.doc拡張子が付いているため、古いバージョンのWordは混乱します。

では、Word 2010を使用して、[名前を付けて保存]ダイアログを表示せずに古いドキュメントのWord形式でファイルを保存する方法はありますか?

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

java - Java と SWT OleAutomation で Open Office を自動化する方法は?

Java と SWT を使用して Microsoft Word の自動化をプログラムすることに成功しました。ここで、Open Office / Libre Office ライターに対しても同じことを行う必要があります。

MS Word の場合、次のような Word.Application を使用しました。

これは、Open Office と同様の方法で行う必要があると思います。どのオブジェクトを使用すればよいですか? そしてどうやって?ありがとうございました

EDIT1: 私は長い質問を作成することを避けようとしましたが、私の質問は反対票を投じられたので、より詳細に説明しようとします:

  1. 私の長期的なニーズは、Java アプレットを介してオープン オフィス ドキュメントを開いて自動化することです。
  2. UNO と Office Bean を試しましたが、私の場合 (パスと環境設定の依存関係) はどちらも役に立たないようで、Web ブラウザーから何かを起動するときに受け入れられません。
  3. 以前に Microsoft Word を使用した経験があるため、オブジェクトを求めました。Word.Document を使用すると、ドキュメントを開くことができましたが、自動化は機能しませんでした。Word.Application を介してドキュメントを開くと、自動化は機能しましたが、私が好きで使用したい ole オブジェクトのようには動作しませんでした。

現在、私のコード (以下) では自動化機能を使用できません。Word.Document のように機能します。

それが、「どのオブジェクトを使用するか」という質問をした方法です。Word.Application に似たオブジェクトを探しています。com.sun.star.frame.Desktop でしょうか。もしそうなら、私はまだそれを使用することに成功していません.

過去に OLe を介して OOO アクセスをプログラムし、いくつかのアイデアやコードを共有できると思いました。

ありがとうございました。

EDIT 2 以下は、vbs で書かれた OpenOffice SDK のコードです。誰かがこれをJAVAとSWTに変換するのを手伝ってくれたら、それが解決策になります:

上記のコードは、.vbs ファイルに保存され、次のように開始されます。 cscript WriterDemo.vbs は Open Office ライターを起動し、一部のデータがドキュメントに書き込まれます。ただし、Javaで動作させることはできません。

そのようにこれを開始しようとすると:

その後、例外が発生します

間違ったオブジェクトを使用しようとしているか、不適切に使用していると思います。ご協力いただきありがとうございます。