問題タブ [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 投票する
4 に答える
1677 参照

c++ - C++、OLE、Excel オートメーション: 00000800 での EAccessviolation

Excel 2003 ファイルからデータを自動的に読み取るバックグラウンド サービス アプリケーションを作成しています。しかし、何を試しても、アドレス「00000800」から読み取ろうとすると、メソッド OlePropertyGet() は常に EAccessViolation エラーになります。

エラーは常にこのコード スニペットの最後の行で発生し、メソッドが受け取るパラメーターとは無関係のようです。

私はこれについていくつかの広範なGoogle検索を行いましたが、リモートでさえ役立つものは何も見つかりませんでした.誰かが同じ問題を抱えているこのフォーラムスレッドだけですが、原因や解決策についての情報を提供していません.著者は原因を知っていると述べていますが、それが何であるかは述べていません!)。

これを引き起こしている原因とこの問題を解決する方法についてのアイデアだけでなく、Excel OLE オートメーションへの代替アプローチも歓迎します。

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

sharepoint - 一時インターネット ファイル (SharePoint から IE 経由で読み取る)。URL を見つけるにはどうすればよいですか?

IE ユーザーが SharePoint にあるファイルのリンクをクリックすると (そしてユーザーが「読み取り専用」アクセスを選択すると)、ファイルは一時インターネット ファイルにコピーされ、アプリケーションが開かれ、そのファイル名がパラメーターとして渡されます。ユーザーが読み取り専用モードからチェックアウトおよび編集モードに切り替えることができるように、アプリに「チェックアウト」ボタンを実装しようとしています。ファイルの SharePoint URL を知る方法が見つかりませんでした。チェックアウトして編集するときは問題ありません。システム上のファイルを SharePoint の URL にマップするレジストリ エントリがあります。読み取り専用ファイルのようなものは見つかりませんでした。

編集: Windows エクスプローラーで使用できる URL 列がありますが、その列を (エクスプローラーで) 表示すると、すべての値が空白になります。また、この値を返すファイル情報 API 呼び出しが見つかりません。

更新: wininet.lib でいくつかの有望な呼び出しを見つけました: FindFirstUrlCacheEntryEx (および "next") と FindFirstUrlCacheGroup (および next)。それらはデータを返さなかったようで、私が読んだことから、これらは私のアプリケーションの wininet api 呼び出しキャッシュの使用のみを返します - IE のものではありません。

また、ファイルを開いたときに IE がアプリに対して行った COM 呼び出しのリストを実行して、サポートされている場合にどのインターフェイスが表示されているかを確認してみました。有望に見えたのは IMonikerProp インターフェイスで、実装すると呼び出されました...ただし、MIME タイプのプロパティ、アプリのクラス ID、TrustedDownload フラグしか提供されませんでした。

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

perl - PerlとWordVBAでWord文書のページ数が異なるのはなぜですか?

PerlでWin32::OLEを使用してさまざまなプロパティ(ページ数、作成者など)を取得しようとしている(一連の)Wordドキュメントがあります。

これは4ページを返します。ただし、ドキュメントの実際のページ数は9です。最初のセクションのページ数は4です。ドキュメントの合計ページ数が必要です。

Word VBA内で、次のことを行う場合:

これにより、9が表示されます。[プロパティ/統計]ページに表示されるページ数は9です。

再計算を強制する必要がありますか?OLEライブラリに再計算を強制するように依頼する方法はありますか、それともすべてのセクションを個別に処理する必要がありますか?

XP、Word 2007、ActivePerlv5.10.0を使用しています。

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

com - COM / OLE / ActiveX / IDispatch の混乱

これらの用語の違いに頭を悩ませることはできません。

COM と ActiveX は同義語ですか?

ActiveX オブジェクトは、IDispatch を公開する単なる COM オブジェクトですか?

多くの古い MSDN ページでは、COM コンテキストなしで IDispatch について言及しています。それには別の歴史があり、そのライフサイクルの後半でCOMの「傘」の下に導入されたばかりですか?

OLE はどこに適合しますか? MFC のネーミングと MSDN における一般的な (かなりの) 存在は、単なるレガシーですか?

ウィキペディアはある程度の洞察を提供しますが、多くはありません。詳細なリファレンスは見つかりませんでした。

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

vba - VBAを使用して新しいインスタンスでExcel 2007を開く際の問題(OLEおよびバインドされたオブジェクトフレームを使用)

VBA (Access 2002 から) を使用して Excel 2007 の新しいインスタンスを作成する際に問題があります。

最初は問題を誤解していて、思ったよりも複雑です。

新しいプロセスを作成します (そうではないと思っていました) が、それでも奇妙なことが起こっています。OLE を使用して Excel ファイルを SQL Server データベースに保存しています。

これは、Excel ファイルをフォームにバインドする関数です。

コンテキスト:

ad 1 2 番目のプロセスの excel.exe が開始します

広告 2 2番目のプロセスで何が起こっているかを確認するために、この行を追加しました

広告 3 OLE はファイルを既存の Excel インスタンスにバインドし、2 番目のプロセスはここで強制終了されます:/

問題は次のとおりです。

  1. tExcelObjFrame.Action = acOLEActivate が 2 番目のプロセスを強制終了する理由

  2. 2番目のプロセスでオブジェクトフレームにExcelファイルを強制的にアクティブにする方法

編集

ここで部分的な説明を見つけました(明確な解決策はありません):

http://www.xtremebbtalk.com/showthread.php?t=292170

  1. Excel のインスタンスが実行されていない場合、オブジェクトに直接またはプログラムを通じてアクセスすると、OLE によって Excel のインスタンスが作成されます。
  2. Excel のインスタンスが既に実行されている場合、これは OLE オブジェクトによって使用されるインスタンスです。

問題は、OLE オブジェクトが間違った Excel インスタンスを選択することです。問題は、OLE を特定のインスタンスに向ける方法があるかどうかです。

ここで説明されている同じ問題(解決策はありません):

http://groups.google.com/group/microsoft.public.win32.programmer.ole/browse_thread/thread/9c4cde2a79453037

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

delphi - Delphi: TOleControl は ActiveControl を間違った状態にしますか?

Mike Lischke のVirtual Treeviewには、同じフォームでTWebBrowserコントロールを使用する際のバグを修正するための回避策コードが追加されています。

問題は、ユーザーが( TWebBrowserが派生する) TOleControlと対話しようとすると、最初のマウス クリックが食べられることでした。コントロールにフォーカスを与えるには、もう一度クリックする必要があります。次に、コントロールを操作できます。

彼は説明するコメントを持っています:

から派生したすべてのコントロールにTOleControlは、潜在的にフォーカスの問題があります。

クラスのテストを可能にするOleCtrlsユニット (特に、 Variantを含む) を含めることを避けるために、インターフェースがテストに使用されます。TOleControlIOleClientSiteTOleControl

完全なスニピットから:

問題は、回避策が機能しなくなったことです。正直なところ、問題が実際に何であったのか、彼のソリューションがどのようにそれを修正したのか、私にはわかりません。

彼のコメントが彼の言っていることを理解していることを知っていて、問題が何であるかを説明でき、彼がしていることはそれをどのように修正することになっていたかを知っている人はいますか?

ラップされた非 VCL コントロール (TWebBrowser など) の回避策。これらは VCL メカニズムを使用せず、ActiveControl プロパティを間違った状態のままにして、コントロールが再びフォーカスされるときに問題を引き起こします。TOleControl から派生したすべてのコントロールには、潜在的にフォーカスの問題があります。

コードは意図した範囲に到達しています

ステートメントですが、それはうまくいきません。

私はそれを修正したいと思いますが、彼がどのようにしてそれを見つけたのか、またはTOleControlが「VCL メカニズムを使用せず、ActiveControl プロパティを間違った状態のままにする」ことがどのように発生するのかわかりません。


ボーナスリーディング

私はもともと2008年ニュースグループでこの質問をしましたborland.public.delphi.nativeapi.win32

Soft-Gems フォーラムに関する質問

バンプ 20110515 (12 か月後)

バンプ 20150401 (7 年後): まだ XE6 で動作しない

バンプ 20210309 (11 年後)

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

c# - MS Access OLEオブジェクト列から(C#またはVB.NETを使用して)イメージファイルを作成します

OLEオブジェクト列に画像が含まれていますが、画像タイプ(jpg / gif / tiff)が不明です。これらのイメージは、DBから抽出して、ディスクに保存する必要があります。アプリケーションは主にVB.NETを使用していますが、C#の例も歓迎します。

ありがとうRahul

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

delphi - MS Word Ole Automation、ADOおよび外国文字

データベース(ADO / MS Access)からMS Wordドキュメント(Delphi 7)にWideStringテキストをエクスポートしようとしていますが、外国文字が正しく転送されません(つまり、「 č 」ではなく「 è」)。

私もCreateOleObject()直接使ってみましたが、違いはありません。

私は何が欠けていますか?

ありがとう!

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

mfc - MS Word で MathML を MathType に変換する

XML&MathML から MS Word ドキュメントへのコンバーターを作成しています。
私は MFC と Word の自動化を使用しているので、次のようなテキストを書いても問題ありません。

問題は、MathML 方程式を埋め込まれた MathType オブジェクトに変換することです。私が見つけた可能な方法の 1 つは、TeX で方程式を記述し、TeX を MathType OLE オブジェクトに置き換える MTCommand_TeXToggle (Word の MathType 6.5 ライブラリにあります) マクロをプログラムで呼び出すことです。しかし、どうにかして MathML を TeX に変換する必要がありますが、これはそれほど簡単ではありません。

MathType OLE オブジェクトは生の MathML データを受け入れる必要があることはわかっていますが、プログラムで OLE オブジェクトを作成してアクセスしようとすると、次のようになります。

最終的には、MathML データをフィードする適切なインターフェイスがなくなります。質問は次のとおりです。1) OLE オブジェクトを制御して、MathML データを送信する方法はありますか? または 2) 選択範囲を MathML から MathType OLE オブジェクトに変換する MS Word VB マクロを取得する方法はありますか?

前もってありがとう、ニック・スタンチ

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

delphi - Delphi で IDataObject インスタンスを作成するにはどうすればよいですか?

このC++ コードは、OLE を使用してファイルのドラッグ アンド ドロップをシミュレートし、「送信先...」操作をシミュレートする方法を示しています。これにより、選択したファイルが添付された標準のメール クライアントが開きます。これは、mailto: プロトコル ハンドラの非常に興味深い代替手段です。

DelphiでIDataObjectの必要なインスタンスを作成するための最良の(短くて安全な)方法はどれですか?

ここでいくつかのコードを見つけましたが、もっと良い解決策があるかもしれません。