問題タブ [activex]
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.
visual-studio - 別のウィンドウでExcelドキュメントを閉じるDSOFramer。ファイルに保存されていないデータがある場合、dsoframerは「無効なアドレスにアクセスしようとしました」で開くことができません
コントロールを使用Microsoft's DSOFramer
して、ダイアログにExcelファイルを埋め込んで、ユーザーがシートを選択してからセルの範囲を選択できるようにしています。ダイアログのインポートボタンで使用されます。
問題は、DSOFramer's OPEN
関数を呼び出すときに、Excelを別のウィンドウで開いていると、Excelドキュメントが閉じてしまうことです(ただし、Excelは実行されたままになります)。閉じようとしているドキュメントに未保存のデータがある場合、別のウィンドウにExcelドキュメントを閉じるダイアログボックスが表示されます。ファイルに保存されていないデータがある場合dsoframer
、メッセージボックスで開くことができません:Attempt to access invalid address
。
ソースを作成してステップスルーし、そのCDsoDocObject::CreateFromFile
関数で呼び出しBindToObject
を行って、クラスIMonikerのオブジェクトを呼び出しました。HR
です0x8001010a
The message filter indicated that the application is busy
。_ その失敗で、それはMicrosoftExcelワークシートを使用しようとします...これはので失敗InstantiateDocObjectServer
します。は、最初に、を呼び出し、次に(失敗した場合は)を呼び出します。classid
CLSID
HRESULT
0x80040154
Class not registered
InstantiateDocObjectServer
CoCreateInstance
classid
CLSCTX_LOCAL_SERVER
CLSCTX_INPROC_SERVER
DSOFramer
さまざまなダイアログやフォームにOfficeアプリを埋め込むための人気のあるサンプルプロジェクトです。他の誰かがこの問題を抱えていて、私がこれをどのように解決できるかについての洞察を持っているかもしれないことを願っています。開いている他のExcelドキュメントを閉じたくないし、データが保存されていないためにドキュメントを閉じることができない場合にエラーアウトしたくない。
classid
更新1:渡されたものを変更しようとしましたがExcel.Application
(クラスが解決されることはわかっています)、それは機能しませんでした。でCDsoDocObject
、キーを開こうとしますHKEY_CLASSES_ROOT\CLSID\{00024500-0000-0000-C000-000000000046}\DocObject
が、失敗します。キーがレジストリに存在しないことを視覚的に確認しました。ガイドにはキーがありますが、DocObject
サブキーはありません。次に、エラーメッセージボックスが生成されますThe associated COM server does not support ActiveX document embedding
。を使用しようとすると、同様の(もちろん異なるキー)結果が得られますExcel.Workbook programid
。
更新2:問題のあるExcelインスタンスではなく、自動化が(最後に呼び出された)Excelにバインドされることを期待して、Excelの2番目のインスタンスを起動しようとしましたが、そうはならなかったようです。結果は同じでした。私の問題は、要約すると次のようになります。BindToObject
クラスのオブジェクトでを呼び出し、IMoniker
を受信してい0x8001010A (RPC_E_SERVERCALL_RETRYLATER)
The message filter indicated that the application is busy
ます。BindToObject
(を介して)に渡されたフラグで遊んでみましたSetBindOptions
が、何も違いがないようです。
更新3:最初にIMonikerクラスを使用してバインドを試みます。それが失敗した場合は、メソッドCoCreateInstance
としてを呼び出します。これは他のMSOfficeオブジェクトでも機能する可能性がありますが、Excelの場合、クラスはワークシート用です。サンプルをに変更してから、ワークブックを取得し、ターゲットファイルに対してを呼び出しました。これにより、ワークシートオブジェクトが返されます。次に、そのポインターを返し、元のサンプルコードパスにマージして戻しました。すべてが現在機能しています。clsid
fallback
CoCreateInstance _Application
Workbooks::Open
dll - ActiveX DLL のクラスとメソッドを参照するにはどうすればよいですか?
基本的に、私が望んでいるのは、ActiveX DLL を探索できるようにすることです。私は通常、VB 6 を起動し、DLL をプロジェクトの「参照」に追加し、オブジェクト エクスプローラーを使用します。
ただし、この特定のマシンでは、VB / VS をインストールできません。
これを行うツールがあると確信しています。誰か知っていますか?
ありがとう
javascript - Javascript を使用してスクリプト化できる C++ で ActiveX オブジェクトを構築する方法
VS08 の MFC/ActiveX テンプレートを使用して、HTML ページにロードできる C++ ActiveX オブジェクトを作成し、Javascript でスクリプトを作成できます。しかし、Javascript を使用してコンポーネントのカスタム メソッドを呼び出すことができるインターフェイスを作成する方法がわかりません。
それを達成する方法を教えてください。Google で 2 時間以上費やしましたが、うまくいきませんでした。
ありがとう。
c# - C# コントロールで ActiveX を作成し、ASP.NET サイトで参照するにはどうすればよいですか?
C# ライブラリ プロジェクトで ActiveX コントロールを作成し、それを別の ASP.NET ウェット サイト プロジェクトで参照するにはどうすればよいですか?
internet-explorer - IE の ActiveX。ダイアログ ボックスに XP のビジュアル スタイルが表示されない
IE (7) に ActiveX コントロールがあります。ダイアログ ボックスを表示するときに、ダイアログ ボックスが XP ビジュアル スタイルで表示されません。私は無駄にマニフェストを埋め込もうとしました。誰かが何か考えましたか?ちなみに、ダイアログ ボックスは wtl を使用して実装されています。
python - Python を使用して OLE コンポーネントのスクリプトを作成する方法
Python を使用して、OLE コンポーネントを提供していると宣伝するアプリケーションのスクリプトを作成したいと考えています。どのように始めればよいですか?
アクセスするコンポーネントでどのメソッドを呼び出す必要があるかはまだわかりません。win32com を使用してこれらのコンポーネントをロードし、IPython で「タブ」を押し始める必要がありますか?
winapi - Win32: ActiveX コントロールを登録するにはレジストリ エントリが必要ですか?
DllRegisterServer が呼び出されたときに実行されるコードを記述する必要があります。つまり、誰かが電話したとき:
必要なレジストリ エントリの最終的なリストを見つけようとしています (レジストリを調べてまとめられるものではなく)。
これまでのところ、私の遠征で次のことがわかりました。
さて、懸念事項: - Control フォルダには何が含まれていますか? その存在はコントロールを示していますか?- 205201 の MiscStatus は何をしますか? 代わりに 205202 は何をしますか? - "Properties,0,2" という動詞は何ですか? "Properties,0,0" と "Properties,0,1" はどこにありますか?
言い換えれば、私はドキュメントを探しています。
debugging - COM/ActiveX の依存関係を追跡する方法は?
ActiveX/COM オブジェクトの依存関係を調べて報告する Dependency Walker のようなものはありますか?
java - プログラムで Java に ActiveX dll を登録できますか?
サードパーティの ActiveX dll を持っています。可能であれば、実行時にプログラムで登録したいと考えています。これは Java で実行できますか? 私が使用しているアプリケーションは、Windows XP 上の Eclipse アプリケーションです。
video - Google Earth ポップアップ ビデオ (ActiveX)
Google Earth の目印ポップアップに ActiveX コントロールを配置することはできますか?
HTML に埋め込むことができる独自のサード パーティの ActiveX コントロールがあります。これは Google Earth で機能しますか?