ソーステキストには単純なHTMLが含まれています。 MS Wordでテキストを単純にフォーマットするにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/811917

質問

基本的なHTML書式設定(つまり-< b >、<=> i <=>タグ)をデータベースに保存し、Word文書に書き出すプロジェクトを継承しました。これは私の最初のWordオートメーションの割り当てなので、やさしくしてください!

現在、これらのタグを検索および置換するドキュメントの完成後に実行される複雑な関数があります。ただし、これはドキュメントの完了後に実行されるため、実行時に決定されるロジック(つまり、ここに改ページを挿入する)は、悲惨な結果につながる可能性があります。たとえば、太字のテキストが大量にある場合、この太字のテキストはより多くのスペースを占有し、改行を次のページにプッシュするため、ほとんど空白のページになります。

これに対する修正は、データベースから取得したテキストをフォーマットして、ポジショニングロジックが正しいようにすることだと思います。時間がかかり、エンドユーザーはこのドキュメントをできるだけ早く必要とするため、複雑な手順を複数回呼び出したくありません。

サポートされているすべてのタグを見つけて置き換える必要なしに、HTML形式のテキストをWord文書に簡単に書き込む方法はありますか? Wordには、これを自動的に処理できる何かがあると思います。正しい方向に向けていただければ幸いです。

役に立ちましたか?

解決

これを試してください:

まず、挿入するHTMLを通常の<!> quot; .htm <!> quotとして保存します。ファイル。

次にRangeオブジェクトを使用し、 InsertFileメソッドで挿入します<!> quot; .htm <!> quot;任意の位置のファイル:

Dim r As Range

Set r = ActiveDocument.Range
r.InsertFile FileName:=TempFilePath, Link:=False, ConfirmConversions:=False

Wordは、HTMLを処理し、すべての形式変換を独自に行うのに十分なスマートでなければなりません。 CSSを使用して、書式設定のより細かい部分を制御します。

<!> quot; .htm <!> quotを削除します。完了したらファイル。

他のヒント

埋め込みIE(IWebBrowser2)を呼び出してテキストをレイアウトし、リッチテキストとしてクリップボードにコピーし、最後にリッチテキスト(フォーマット済み)としてWordに貼り付けることができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top