数時間検索しましたが、これについて何も見つかりませんでした... 基本的に、誰かが CMS 用の新しいページを作成できるようにする Word 2007 用のテンプレートまたはプラグインを作成したいと思います。私が念頭に置いているのは、ブログ投稿テンプレートに似たものです。基本的なテンプレートの作成方法は知っていますが、Word 内の発行ボタンを使用して、作成した文書を発行する方法が見つかりません。
事前にthnx
数時間検索しましたが、これについて何も見つかりませんでした... 基本的に、誰かが CMS 用の新しいページを作成できるようにする Word 2007 用のテンプレートまたはプラグインを作成したいと思います。私が念頭に置いているのは、ブログ投稿テンプレートに似たものです。基本的なテンプレートの作成方法は知っていますが、Word 内の発行ボタンを使用して、作成した文書を発行する方法が見つかりません。
事前にthnx
あなたが達成しようとしていることは理解していますが、Word は間違った出発点です。より基本的なテキスト エディターから始めます。
言葉は恐ろしい、恐ろしい、恐ろしい。サイトは明確なスタイルを定義しますが、Word は Web サイトの CSS 定義と一致しない厄介な HTML を出力します。
したがって、最善の策は、Word ファイルをサイトにドロップし、プログラムでコードを分析して、サイトで有効な HTML に変換する手段を用意することです。Java では Apache POI を使用できますが、それでも非常に未加工です。マイクロソフト中心の世界では、はるかに簡単かもしれません。
私の意見では、Markdown、BBCode、または HTML を学習させるか、CMS で Styled HTML Editor を使用するよう強制する方がはるかに優れています。プレーン テキストをカット アンド ペーストし、CMS で定義されたスタイルでスタイルを設定します。
それはすべてエンドユーザーに関するものなので、それは悪い考えではありません。Wordが不正なHTMLを生成する場合は、CMSに投稿する前にセマンティックを正しくする必要があります。
私はこれを行ったことがありませんが、「Word 2007アドイン」テンプレート(Office 2007を想定)を介して.NETで実行できると確信しています。
幸運を!
Word 2007 を使用しているため、ドキュメントを XML としてエクスポートし、XSLT を使用して HTML を生成できます。
CMS に API またはインポート機能がある場合は、Word からの出力をそのインターフェイスに合わせて変換できます。
Word マクロを記述して、正しい出力を生成する [発行] ボタン/メニュー オプションを Word に追加できます。
umbraco CMSでは、Microsoft Word での編集が可能です。
私は、カスタム CMS システム用の Word アドインを作成するチームに所属していました。それは VB6 で書かれており、Word 文書を取得して基本的な書式設定情報 (リスト、太字、斜体、さらには表) を HTML に変換し、サーバーにアップロードすることができました。ただし、新しいページを作成したり、アドインでサイトを管理したりしませんでした.
私の経験から、Word を CMS のエディターとして選択することは絶対に避けたいと思います。最大の問題は、アドインを更新するたびに、アドインを使用している会社に再配布する必要があることです。これは IE の Active-X コントロールとして実行できますが、Javascript エディターを介して限られた一連のスタイリング オプションをユーザーに提供するだけの方がはるかに簡単です。
Word にはコンテンツを操作するための強力な API がありますが、不要なフォントなどを避けるために Word の非常に多くのオプションを無効にする必要があり、最終的には Word よりもワードパッドに似ていました。
それがグリーンフィールド プロジェクトであり、時間があれば、Javascript エディターよりも Silverlight 4.0 を使用することをお勧めします。バージョン 4.0 には、richtextbox コントロールが組み込まれており、優れた Vectorlight コントロールもあります。
SharePoint 2007 を CMS として使用すれば、やりたいことを実行できます。SharePoint 2007 でブログをセットアップし、Word からブログに投稿できます。クライアント エンドで Office 2007 を使用している場合は、「ブログに投稿」などの便利なボタンが表示されます。
SharePoint を使用できない場合、または既存の CMS について話している場合は、飛び越えなければならないハードルがたくさんあります。これは重要な作業であり、スタック オーバーフローから簡単な答えを得ることができるものではありません。
何らかの理由で、これはExcelにはあるが、Wordにはない機能です。Excelは、ドキュメントを保存するときに、ドキュメントのHTMLファイルバージョンを自動的に公開できます。
残念ながら、WordはSharepointを使用している場合にのみこの機能を実現できるようですが、これは非常に便利なため残念です。
独自のアドインを作成する以外にできることは、ユーザーがドキュメントを保存するたびに、テンプレートにコードを追加してドキュメントのHTMLコピーを作成することです。
.dotm
ファイルとして保存)になっていることを確認します。project
リストでドキュメントをダブルクリックして、分離コードファイルを開きます。次のコードを追加して、ActiveDocument.SaveAs
CMSがCMSによって公開される共有ネットワークフォルダーなど、より適切なものにパスを変更します。
Sub FileSave()
' First Save the main document
ActiveDocument.Save
' Now we create a new document based on the current one
Selection.WholeStory
Selection.Copy
Documents.Add
Selection.PasteAndFormat wdPasteDefault
' Save it as HTML and close it
ActiveDocument.SaveAs "c:\temp\mydoc.html", fileformat:=wdFormatHTML
ActiveDocument.Close
End Sub
これにより、元のファイルが空白の新しいファイルにコピーされ、HTMLに保存されて閉じられてから、元のファイルに戻ります。
Documents.Add
テンプレートとは異なるテンプレートを使用する場合は、いくつかのオプションを確認できますnormal
。
安全
このテンプレートにはマクロが含まれているため、Wordが期待する他のテンプレートと一緒にインストールする必要があります。
そうしないと、セキュリティ警告が表示されます。取得を回避するために、 Wordの[オプション]>[セキュリティセンター]>[セキュリティセンターの設定]>[信頼できる場所]
で、テンプレートが配置されているパスを信頼できる場所のリストに追加できます。