問題タブ [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 に答える
4657 参照

perl - PerlでのExcelファイル処理を自動化し、ダイアログ/UIの相互作用を回避します

OLEを使用してMicrosoftExcelを自動化したときに、ポップアップダイアログが表示されないことを保証するにはどうすればよいですか?Perlモジュール(Win32 :: OLE)を使用しています。次のコードを使用して、ほとんどのダイアログポップアップを回避できます。

ただし、一部のファイルでは、次のテキストを含むダイアログが引き続き表示されます。

このファイルは認識可能な形式ではありません。

  • ファイルがMicrosoftExcelと互換性のない別のプログラムからのものであることがわかっている場合は、[キャンセル]をクリックして、このファイルを元のアプリケーションで開きます。後でMicrosoftExcelでファイルを開きたい場合は、テキスト形式などの互換性のある形式でファイルを保存します。
  • ファイルが破損していると思われる場合は、[ヘルプ]をクリックして、問題の解決に関する詳細を確認してください。
  • それでもファイルに含まれているテキストを確認したい場合は、[OK]をクリックします。次に、テキストインポートウィザードで[完了]をクリックします。

OKキャンセル

「OK」、「キャンセル」、「ヘルプ」ボタンを含む同様のダイアログが表示されることがあります。

スクリプトに提供されるファイルの品質を制御できません。

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

python - wxPython でドラッグ & ドロップを行う OLE の方法

MS Windows で実行されている wxPython アプリがあり、そのインスタンス間のドラッグ アンド ドロップをサポートしたい (したがって、ユーザーはアプリを 3 回開き、あるインスタンスから別のインスタンスにデータをドラッグします)。

wxPython での単純なドラッグ アンド ドロップは次のように機能します。

  1. ユーザーがドラッグを開始: ソース ウィンドウは、必要なデータを wx.DataObject() にパックし、新しい wx.DropSource を作成し、そのデータを設定して、dropSource.DoDragDrop() を呼び出します。
  2. ユーザーがデータをターゲット ウィンドウにドロップします。ドロップ ターゲットは、実際のデータをその wx.DataObject インスタンスに転送するライブラリ関数 GetData() を呼び出し、最後に - dataObject.GetData() が実際のデータをアンパックします。

ユーザーがドロップにドラッグするデータを選択できる、より洗練されたドラッグアンドドロップが必要です。私の夢
のシナリオ:

  1. ユーザーがドラッグを開始: ソース ウィンドウへのポインターのみがパックされます (関数またはオブジェクト)。
  2. ユーザーがターゲット ウィンドウにデータをドロップ: 適切なダイアログが表示され、どのドラッグ アンド ドロップ モードを選択するかをユーザーに尋ねます (曲のタイトルのみをドラッグするか、曲のタイトルとアーティスト名またはドラッグしたアーティストのアルバム全体をドラッグするかなど)。
  3. ユーザーがドラッグ アンド ドロップ モードを選択します。ドロップ ターゲットは、ドラッグされたデータ オブジェクトに対して何らかの関数を呼び出し、ドラッグ ソースからデータを取得してドロップ ターゲットに転送します。

私の夢のシナリオは MS Windows で実行可能に思えますが、wxWidgets と wxPython のドキュメントはかなり複雑で曖昧です。すべての wx.DataObject クラスが wxPython で利用できるわけではありません (wx.PySimpleDataObject のみ)。そのような動作は、winAPI で直接コーディングすることなく、wxPython で実装できますか?

編集: Toni Ruža は、ドラッグ & ドロップの例で答えを出しましたが、それはまさに私の夢のシナリオではありません。彼のコードはデータがドロップされたときにデータを操作しますが ( HandleDrop()はポップアップ メニューを表示します)、データはドラッグが開始されたときに準備されます ( On_ElementDrag()で)。私のアプリケーションでは、3 つの異なるドラッグ アンド ドロップ モードが必要であり、そのうちのいくつかは時間のかかるデータ準備が必要です。そのため、ユーザーがデータをドロップして (コストがかかる可能性がある) d&d モードを選択するまで、データの取得を延期したいと考えています。

また、メモリ保護の問題については、MS Office のように、プロセス間通信に OLE メカニズムを使用したいと考えています。Excel の図をコピーして、MS-Word に貼り付けると、画像のように動作します (まあまあ)。それが機能するので、winAPIで実行できると思います。wxPythonでコーディングできるかどうかわかりません。

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

excel - SWT OleClientSite:ExcelでXMLファイルをロードする方法は?

OfficeML形式のExcelファイルMyData.xlsがあります。Office2003からOffice2007にアップグレードしたので、ファイルの内容がファイル拡張子と一致しないという警告メッセージが表示されます。OfficeMLの拡張子は「xml」である必要があるようです。

私のアプリケーションでは、OleClientSiteを使用してファイルをOleFrameオブジェクトに表示します。ファイル拡張子を「xml」に変更すると、Excelが起動しません。拡張子を「xsl」のままにすると、上記の警告メッセージが表示されます。

Excelを使用して、拡張子が「xml」のファイルをOleFrameで強制的に開くにはどうすればよいですか?

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

c# - Delphi で OleVariant にアクセスしようとすると無効なバリアント操作例外が発生する - C# で動作する

ActiveX ライブラリからのコールバックで OleVariant にアクセスしようとしています。

TLB でのイベント ハンドラーの定義は次のとおりです。

TLB での structVTIQSnap の定義は次のとおりです。

正常にコンパイルされますが、bstrSymbol にアクセスしようとするたびに、「無効なバリアント操作」が表示されます。

Delphi で structQSnap とそのプロパティにアクセスするにはどうすればよいですか?

C# では、この関数はイベント ハンドラーに対して正常に機能します。

何か案は?

0 投票する
6 に答える
2285 参照

delphi - (Delphi)OLEサーバーを2番目のクライアントで再利用するにはどうすればよいですか?

OLEオートメーションサーバーを作成しました(Delphiを使用)。私は通常、OLEサーバーを手動で起動し、通常のアプリケーションとして使用します。時々、既存のOLEサーバーに自動的に接続するクライアントを起動します。

クライアントを終了すると、サーバーは終了しません(少なくとも、クライアントの前に手動で起動した場合)が、他のOLE接続は受け入れられません。別のクライアントを起動すると、最初のサーバーを再利用する代わりに、新しいサーバーがトリガーされます。

同じサーバーを2番目のクライアントで再利用するにはどうすればよいですか?

(質問は正しく再定式化するために編集されました。元のバージョンでは、サーバーが終了しないようにする方法を尋ねていましたが、これは適切な定式化ではありませんでした)

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

sql-server - TSQL OLE(com)オブジェクト

tsqlからoleオブジェクトを呼び出すことに固有の問題はありますか?ストアドプロシージャだけを使用して解決したいという問題が発生しましたが、clrベースの言語で記述するのではなく、oleオブジェクトを使用する場合に心配する必要があることはありますか?

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

arrays - Visual FoxPro 9 OLEPUBLIC クラスから配列を返すにはどうすればよいですか?

FoxPro の初心者 (しかし Clipper のベテラン) として、次の OLEPUBLIC クラスから配列を返す方法を理解するのに少し途方に暮れています。編集:以下の@Stuartによる発言を考慮して、以下のコードを変更しました。

次の VBScript があれば、問題なくファイルを開くことができます。私ができないように見えるのは、エラーメッセージよりも役立つものを取り戻すことです。

これはエラーメッセージです:

c:\temp\foo.vbs(3, 1) sloop.db sloop.db: .getrecord p:\testing\sloop\sloop.prg 41 行目のエラー 構文エラーです。200

結局のところ、41行目は

これはマイクロソフトが提案する構文であるため、非常に奇妙です。手がかりはありますか?

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

java - (Javaからの)OLEオートメーションを使用するための良いリファレンスはありますか?

Java/SWTアプリケーションからExcelと通信しようとしています。ワークシートを開いてファイルを開いて保存することができましたが、それだけです。

誰かが私にこれに関するいくつかのドキュメント/例を教えてもらえますか?特に、どのコマンドが使用可能かを知る必要があります。検査するマクロを記録しようとしました。これは便利でしたが、私が望むすべてを私に与えることはできませんでした。

これは私がこれまで試してきたことのサンプルです:

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

c++ - OLE入門-学習プロジェクトの良い選択は何ですか?

間もなく、JavaからWindows上のOLEオブジェクトを呼び出す必要がある「統合」ライブラリを作成する必要があると思います。

私は以前に(C / C ++とJNIを使​​用して)WindowsでJavaからC / C ++への統合を行ったことがあります。そのため、方程式のその部分に慣れていません。

でも; プロジェクトのその部分にテストスピンを与えるために、OLEオブジェクトの周りにC /C++ラッパーを書いてみてください。

だから、いくつかの質問:

  1. VS C ++ Express EditionでOLEを実行できますか?答えは「はい、でもMFCを持っていないので、Microsoft OLEオブジェクト(Excel、Wordなど)を呼び出すことはできません」だと思います。

  2. #1についての私の推測が正しければ、呼び出すことができるOLEオブジェクトを提供する「テスト」アプリケーションが必要です。良い習慣となる何かの提案は何ですか?

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

visual-studio - Delphi 内から Visual Studio を自動化し、プロジェクト アイテムを起動する

ビジュアル スタジオ タイプ ライブラリ

Delphi から Visual Studio (SSRS レポートを編集するため) を開いて、自動生成したソリューション ファイルから特定の projectitem をロードしようとしています。

Visual Studio のタイプ ライブラリをインポートし、オブジェクトを作成して、適切な ProjectItem が得られるまでソリューションをドリルスルーすることができます

objDTE := CreateOleObject('VisualStudio.DTE') を DTE として;

しかし、私は ProjectItem を持っている時点で、次のことをしたいと思っています

_ProjectItem.Open(vsViewKindDesigner);

残念ながら、vsViewKindDesigner は、タイプ ライブラリが見つからないある種の定数であり、その下にある特定の Guid に関連している必要があります。

ProjectItem.Open メソッドでこの定数を使用するために、このタイプ ライブラリをインポートできるアイデアはありますか?

ありがとう!