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

word-automation - Word 2007/Vista での Word スペル チェックの実行速度が遅い

MS Word を使用して RichtextBox の内容をスペル チェックする DLL を作成しました。このプロジェクトでは、Microsoft Word 11.0 Object Libraryを使用しています。そのバージョン以降の Word を使用しているマシンでそのリファレンスを使用できると読みましたが、それは本当のようです。

しかし... Windows Vista と Word 2007 を搭載したマシンのテスト アプリで dll を実行すると、実行速度が非常に遅くなります。2007 バージョンの Word Object Library は、自動化中に非常に遅くなるような違いはありますか? それとも、このように動作させる実行時の何らかの再解釈ですか?

Word 2003 のマシン用と Word 2007 のマシン用に、異なるバージョンの dll を作成する必要がありますか? それは本当に無意味な多くの異なるプロジェクトで使用するためのスペル チェック dll を作成する全体のポイントになります。

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

.net - Word 差し込み印刷の自動化が期待どおりに機能しない

アプリケーション内で手紙を作成するはずの差し込み印刷コードに問題があります。現時点では、このコードが少し荒いことは承知していますが、整理する前に「何かを機能させる」フェーズに入っています。

これが機能するはずの方法、および手動で行う場合の方法は、レターのテンプレートであるファイル (fileOut 変数 + ".template") を用意することです。そのテンプレートを開いてマージし、ファイル名として fileOut 変数に保存します。

ただし、マージの出力ではなく、テンプレート ファイルのコピーを fileout ファイル名に保存しています。

調べたところ、レンガの壁に頭をぶつけているようです。

datafile は、マージ データを含むデータファイルです。

同じファイルを使用すると、手動で行うとすべて機能します。

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

c# - Word文書のディレクトリをプログラムで印刷しています...最後のファイルは常にスキップされました

Word 文書のディレクトリをプログラムで印刷しようとすると問題が発生します。この例では、「3_」プレフィックスを持つファイルのみを印刷しようとしています。問題は、接頭辞が 3_ のファイルが 2 つないとファイルが印刷されないことです。私はこの問題を解決するために永遠に見回してきました。ファイルを開く方法に何か問題がありますか? ディレクトリに 2 つのファイルがある場合にのみ機能します。この場合、2 つのファイルのうちの 1 つだけが出力されます。

編集:メッセージボックスを試してみましたが、パスは正しいです。ファイル名は正しいです。また、プリンター フォルダー内のプリンターを見ていると、ドキュメントが一瞬点滅してから消えます (出力を確認できるように印刷を一時停止しています)。Word でエラーが表示される場合、表示されないのはなぜですか? ディレクトリに 3_ プレフィックスを持つ 2 つのファイルがある場合、なぜこれが機能するのでしょうか?

編集: printout() メソッドの問題だと思います。アプリを可視に設定して実行すると、ドキュメントは正常に開きますが、何も印刷されません。ドキュメントを手動で開いて印刷できます (正常に動作します)。

編集:回答ありがとうございました。printout() メソッドの background パラメータが問題でした。印刷が完全にスプールされる前にプログラムが終了します (これが、印刷キューでドキュメントが点滅して消えるのを見る理由です。バックグラウンド印刷をオフにするには、ドキュメントを開いたままにして印刷する必要がありました。これが重要でした。ありがとうございました

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

pia - 2007 互換性パックをインストールした後、Office プライマリ相互運用機能アセンブリが機能しない

Word と Excel の自動化を行う C# プログラムがあり、Office 2003 Primary Interop Assemblies を使用していました。私がそれを展開した方法は、ビンに相互運用機能を含めることであり、GAC から参照するのではなく、プログラムにそこから参照させました (あまり専門的ではありませんが、何年も機能していました)。最近、3 台のマシンに Office 2007 互換性パックがインストールされましたが、ソフトウェアが Word または Excell を起動しようとすると、次のエラーが表示されます。

タイプ Microsoft.Office.Interop.Word.ApplicationClass の COM オブジェクトをインターフェイス タイプ Microsoft.Office.Interop.Word.Application にキャストできません。IID {00020970-0000 のインターフェイスの COM コンポーネントで QueryInterface 呼び出しが行われたため、この操作は失敗しました-0000-C000-000000000046} は次のエラーにより失敗しました: ライブラリが登録されていません。(HRESULT からの例外: 0x8002801D (TYPE_E_LIBNOTREGISTERED))

いくつか検索した結果、互換パックをインストールすると、Word11 と Word12 の両方が GAC にインストールされ、Excel と同じであることがわかりました。

プログラムで GAC の Word11 相互運用機能を参照しようとしましたが、まだ助けがありません。Word12 相互運用機能をアンストールしましたが、まだ助けがありません。これをインストールすると、一部のレジストリ設定が変更されたか、ソフトウェアが混乱して正しいライブラリが見つからないように見えます。

誰かアイデアはありますか?

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

c# - range : 範囲内のサブセクションにフォーマットを適用します

microsft word ドキュメントでレポートを生成するために、c# でコードを書いています。

  • wid 2列のテーブルがあります。
  • 2列目を選択します

    oMainTable.Cell(currentRowNumber, 2).Range

  • そのセルに何かを書き込む必要があるたびに、上記のコードを Text プロパティ、InsertParagraph()、InsertAfter() などの組み合わせで使用します。

今、私はこのコンテンツを持っているとしましょう:

一部のサンプル コンテンツ 一部のサンプル コンテンツ 一部のサンプル コンテンツ 一部のサンプル コンテンツ 一部のサンプル コンテンツ 一部のサンプル コンテンツ 一部のサンプル コンテンツ

コンテンツ 一部のサンプル コンテンツ 一部のサンプル コンテンツ 一部のサンプル コンテンツ 一部のサンプル コンテンツ

コンテンツ 一部のサンプル コンテンツ 一部のサンプル コンテンツ 一部のサンプル コンテンツ 一部のサンプル コンテンツ

コンテンツ 一部のサンプル コンテンツ 一部のサンプル コンテンツ 一部のサンプル コンテンツ 一部のサンプル コンテンツ

一部のタイトル 1 と一部のタイトル 2 に下線と太字の斜体を適用して、範囲全体に適用されないようにしたいと考えています。これらの 2 つのテキスト行のみに制限されたままになります。

ヘルプはありますか?

ありがとう

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

word-2007 - Word2007でドキュメントを分割する

私はいくつかのWord文書を持っており、これらの特定のセクションを参照して表示したいと思います。セクションを別々のドキュメントに分割してから正しいファイルを表示することを考えましたが、もっと良い方法でそれを行うことは可能ですか?

正しい章までスクロールダウンするためのコマンドラインスイッチについて考えましたが、見つかりませんでした。

単語apiを使用してドキュメントのセクションを非表示にすることは可能ですか?そうすれば、正しいセクションしか表示できません。

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

automation - MicrosoftWord2007ドキュメントの作成を自動化するためのオプション

プロジェクトで「 MicrosoftWord12.0オブジェクトライブラリ」を使用してテンプレートからのWord文書の作成を自動化しましたが、許容できないほど遅いです。代替案を探しています。テンプレートからドキュメントを作成し、いくつかのマクロを実行して、テキストとテーブルをさまざまなブックマーク範囲に挿入する必要があります(いくつかのテキストフォーマットオプションも便利です)。最終的なドキュメントがWord2007と互換性があることだけが必要ですが、 .NETから簡単に入手できるソリューションを希望します(他の推奨事項もありがたいです)...

お知らせ下さい。

0 投票する
5 に答える
7631 参照

asp.net - .NET で Microsoft Word 文書を読むには?

doc、docx ファイルを C# で .NET に読み込む方法。

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

printing - デフォルトのプリンターがネットワークプリンターの場合、Word2007Application.ActivePrinterは設定されません

私はWord2007の自動化を使用しようとしています。この自動化では、Word文書に印刷してコンパイルするプリンターをユーザーが選択できるようになっています。ローカルまたはネットワークプリンターで印刷する機能を提供します。ネットワークプリンターは、完全修飾パス(プリンター名+ポートがある場合はポート)によってコードで指定されます。

問題は、Windows 2008ターミナルサーバーで、デフォルトがネットワークプリンターの場合、プリンターの変更が機能しないことです。元のデフォルトがローカルプリンタの場合は正常に機能します。

ドキュメントを印刷する方法は次のとおりです。

  1. デフォルトのプリンタをユーザーが希望するものに変更します。(Application.ActivePrinterによって実行されます)
  2. ドキュメントを印刷します。
  3. デフォルトのプリンタを元のデフォルトに戻します。

Word 2007でデフォルトのプリンターをネットワークプリンター(リダイレクトプリンター)に設定すると、プリンターは変更されませんが、Word 2003では機能しますが、私の場合はオプションではありません。これをWord2007で動作させる必要があります。

より良い解決策はありますか、それとも私が特に間違っていることはありますか?

サンプルコードは以下のとおりです。ActivePrinterとstrPrinterNameの変更でブレークポイントを使用してデバッグを試みました。

サンプルコードのリファレンス:

http://www.erlandsendata.no/english/index.php?d=envbaprintchangeprinter

http://www.ozgrid.com/forum/showthread.php?t=68990

サンプルコード:

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

c# - Interop.Wordを使用して、(Find.Executeを使用して)置換を実行し、元のテキストの位置合わせを保持する方法はありますか?

Interop.Word(11.0)を介してWord Automationを使用して、Word文書の検索/置換コードを作成しようとしています。私のドキュメントにはすべて、角かっこで囲まれたさまざまなフィールド(Document.Fieldsには表示されません)があります。たとえば、<DATE>に置き換える必要がありますDateTime.Now.Format("MM/dd/yyyy")。検索/置換は正常に機能します。ただし、置き換えられるテキストの一部は右寄せされており、置き換えられると、テキストは次の行に折り返されます。交換を実行するときに正当化を維持できる方法はありますか?コードは以下のとおりです。

TIA。