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

excel - Excelシートの一番上の行のオートフィルターを有効にする方法は?

Excel 2007 XLSX ファイルを生成する小さなテスト アプリケーションを次に示します。

単位Excel2007は、インポートされた Excel 2007 タイプ ライブラリです。これはこれまでのところうまくいきます。ただし、このスクリーンショットのようにヘッダー行を自動フィルター処理したいと思います。オートフィルターのスクリーンショット 残念ながら、OLE オートメーションを介してこれを実行しようとすると、OLE またはバリアント例外が発生しました。どのように進めればよいでしょうか?

注意: データをフィルター処理する必要はありません。ドロップダウン ボタンが必要なだけです。

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

delphi - OpenOffice oleautomation を使用して印刷するプリンターをどのように選択しますか?

私は OpenOffice Writer を使用しており、プログラム制御下で印刷したいと考えています。ただし、デフォルトのプリンターに印刷するのではなく、生成するドキュメントの種類に応じて、特定のドキュメントを特定のプリンターに送信したいと考えています。

Delphi 用の Bernard Marcelly の OOoToolsライブラリを使用して OLE オートメーションを実行し、OpenOffice 4.0 と通信すると、次のコードは現在のプリンタに印刷するように機能します。

OpenOffice Writer Document Print メソッドまたはそれがサポートするプロパティのドキュメントを見つけることができません。次のようないくつかのプロパティを定義することになっていると思います。

質問パート A、Print およびその他すべての同様の Document メソッドが受け入れるすべてのプロパティの完全な HTML オンライン リファレンスはありますか? パート B とは、上記を設定するためのプロパティまたはテクニックです。OO の Document オブジェクトは IXPrintable と呼ばれるインターフェイスを実装していると思います。そのため、IXPrintable のすべてのメソッドと、そのメソッド内の Print メソッドが受け入れるパラメーターまたはプロパティを見つける方法を知りたいと思っています。

更新コメントの提案に従って、次のように「名前」という名前のプロパティを使用してみました。

上記は機能しないため、何か不足しているか間違っているに違いありません。私も呼び出しdocObj.SetPrinterてみましたが、パラメータの型が一致しないというエラーが発生します。

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

delphi - Delphi を使用して Word の Fields コレクションにアクセスする

Word 文書のフィールドを列挙しようとする小さなメソッドがあります。この種のことをしなければならなかった時からかなりの時間が経ちましたが、今ではそれを適切に行う方法を思い出せません.

以下のコードは OleVariants を使用しています。しばらく試してみましたが、グーグルで調べても Delphi ソリューションが見つかりませんでした。誰でもこれを修正する方法を提案できますか?

コードの最終的な目標は、特定の種類のフィールドを識別し、その情報を使用してそのフィールドを削除することです。

ところで、このコードは Word を開いたままにしておきます。

とりあえずは問題ありません。現時点での私の主な関心事は、物事を機能させることです。

また、ループを次のように変更しようとしました。

しかし、「アイテム」はコレクションの一部ではないと言われました。

アイデアが尽きた。

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

c# - MS Word をインストールせずに .docx ファイルを生成することはできますか?

「OLE オートメーション」(または現在呼ばれているもの) を使用して、Word 文書を生成したいと考えています。

プログラムで次のことを実行できると思います。

確信が持てないのは、これを行うためにシステムに MS Word が必要かどうかです (おそらく、必要な DLL を用意するためです)。私は Open Office を使用しています (私はそれが好きで、無料です) が、ドキュメントの作成をプログラムで制御することは、Open Office や Libre Office よりも MS Word の方がおそらく簡単であり、文書化されていると思います。これを「レドモンドとのランデブー」にすることを検討しています。

この質問はこれと接線的に関連しています

ここでGoogleドキュメントが可能であれば、「マウンテンビューとのミーティング」を喜んで行いますが、そのファイル形式や「自動化」できるかどうかなどについては何も知りません.

PDFファイルまたはDOCXファイルに変換できるものにする必要があります。Open Office は DOCX を開いてファイルを PDF に変換できますが、Google Docs については知りません。

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

c++ - 印刷プレビューを生成して印刷するためのソリューションをお勧めします

紹介と関連情報:

古いアプリケーションを保守しており、データベースから計算されたデータに基づいてレポートを生成する機能を実装する必要があります。ユーザーには、ファイルを印刷する追加オプションも必要です (ユーザーはプリンターを選択でき、印刷プレビューを表示できる必要があります)。

満足のいく答えが得られる可能性を高めるために、小さな「例」で問題をさらに明確にすることができます。

  • ユーザーがボタンを押す -> アプリケーションがデータを計算します。// 終わり

  • アプリケーションはファイルを作成し、結果を入力します。// 終わり

  • ユーザーは、レポートが生成されたことを通知されます。// 終わり

  • ユーザーが別のボタンを押すと、印刷料金が発生します。// ここで立ち往生!

  • 印刷プレビューがポップアップし、印刷ダイアログを実行するオプションが表示されます。 // ここで立ち往生

  • ユーザーが印刷ダイアログを開始し、プリンターを選択すると、アプリケーションがファイルを印刷します。

C++アプリケーションはraw WinAPI( no ) を使用してコーディングされていMFCます。私はWindows XPで作業しています。

問題:

OLE オートメーションを使用してWordおよびExcelレポートを生成/保存できましたが、Word が作成する印刷プレビューと完全に一致する印刷プレビューを作成できません。

OLE オートメーションを使用してExcel の印刷ダイアログ/印刷プレビューを表示すると、次の問題が発生する可能性があります。

ユーザーは、[印刷プレビューを閉じる] をクリックするか、印刷プロパティ シート(下の図を参照) を閉じて、ドキュメントのデータを危険にさらす可能性のあるドキュメントに戻ることができます

ここに画像の説明を入力

私の雇用主はこれを好まず (彼らにはソフトウェア エンジニアリングや開発のバックグラウンドがないため、私が何を言おうとも「風のこだま」になってしまいます...)、彼らは私の印刷プレビューが印刷プレビューと正確に一致することを望んでいます。ワードが生成します。

したがって、 Word が作成する印刷プレビューと正確に一致する方法で、ユーザーの印刷プレビューを生成するためのソリューションが必要です。さらに、ユーザーはこれがどのように見えるかしか見ることができず、アプリケーションからファイルを開くことはできません。ユーザーは、ファイルを印刷するプリンターを選択できる必要があります。

写真のような実装で問題ありません。

質問:

導入ノート:

質問が広すぎて 1 回の投稿で回答できないため、アドバイス / 一般的な概念 / 正しい方向を示すことだけを求めなければなりません。

実際の質問:

OLE オートメーションExcel / Wordファイルを使用して最善を尽くしましたが、ご覧のとおり、印刷プレビューの生成に問題があるため、次の質問があります。

  1. この種のタスクに取り組むのはこれが初めてなので、それを処理する適切な方法を教えてもらえますか (もちろん、一般的な概念)。

  2. 印刷の問題 (WM_PRINTCLIENTメッセージをWord / Excelに送信するなど) の回避策がある可能性はありますか?

備考 :

繰り返しになりますが、質問が広すぎることに気付いたので、一般的な概念/指針を教えてください。途中で行き詰まった場合は、別の質問を投稿できます。

Word / ExcelOLE Automationを使用する必要はありません。現時点では、それが私の選択でした。

より良い解決策をお勧めできる場合は、喜んで受け入れます。ライブラリを使用したくありません。

追加情報が必要な場合は、お尋ねください。投稿を編集します。

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

c++ - Windows スクリプト ホスト エラー 0x800700C1 コード 800700C1

Jeff Prosise 著「Programming Windows with MFC」第 2 版の第 20 章「自動化」を読んでいました。long Add(long, long)メソッド、long Subtract(long, long)、および プロパティを使用して小さな自動化サーバーを作成する方法についての説明がありますdouble Pi。VBScript には、そのサーバーをテストするためのスクリプトもあります。そのスクリプトを実行すると、エラー 0x800700c1 のメッセージ ボックスが表示されました。

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

email - Outlook Automation を使用した Delphi 読み取りメール

メールの本文を読むために使用できる実行中のコードがあります。問題は、読んだメールを移動したいということです。たとえば、受信トレイでメールを読み、それを Outlook の別のフォルダーに移動したいと考えています。検索後、 Move コマンドでそれを行うことができますが、私のプログラムは「配列が範囲外です」というエラーを出します。たとえば、Outlook の受信トレイに 4 つのメールがあり、2 つのファイルしか移動せず、このエラーが発生します。私のコードで何が間違っていますか? 助けてくださいありがとう