0

私は地元の慈善団体向けのウェブサイトアプリケーションを構築しています。それは順調に進んでおり、ほとんどの課題を克服しているようですが、これは私が抱える大きな問題であり、それが可能かどうかさえわかりません。

ユーザーがボタンをクリックして、サーバー側でテキストファイルとビルド済みテンプレート(dotx)ファイルをメールでマージしてMicrosoftWordファイルを出力できるようにしたいと思います。テキストファイルには、mySQLデータベースから取得され、PHPを介して生成されたレコードが1つだけ含まれます。

XSLTを使用してドキュメントzip内のドキュメントファイルを変更することは知っていますが、チャリティーサーバー上のphp.iniにアクセスできません。とにかく、マクロの作成を使用するのがいかに簡単かを考えると、少し多すぎるようです。メールマージへ。

だから私は今Wordオブジェクトモデルを使うことを考えています、それはJavascriptを経由しなければならないでしょう、しかしほとんどのユーザーはFirefoxかChromeのどちらかを使います、例えばそうするでしょう。var oApplication = new ActiveXObject("Application.Word");それらのブラウザで動作しますか、それとも単純に使用できます= new Object("Application.Word");か?

また、JavascriptのオブジェクトがVBAのオブジェクトと同じ関数名とパラメーターを持つことを確認できますか?Javascriptを介してWordを使用したことはありませんが、VBAと同じであれば問題ありません。

私は開発にローカルホストを使用しており、ファイル構造は次のとおりです。

  • template \ conformation.docx
  • template \ data.txt

ここで、data.txtは、データベースから取得したデータのPHP生成CSVです。

4

2 に答える 2

2

ActiveX / COM自動化(アクセスに必要word.application)はIEでのみサポートされており、他のブラウザではサポートされていません。

サポートされている場合でも、クライアント内からサーバー上のWordファイルを簡単に操作することはできません。

サーバー上でファイルを生成することもできますが(PHPを使用したWord文書の生成)、Word自体に実際に組み込まれている機能(メールマージなど)にアクセスするには、サーバーにインストールされているWordの実際のインスタンスとプログラムで対話する必要があります( PHP / COM / word.application)を使用して制御します。これを回避するには、メールのマージが行うことはすべて手動で行います。

もう1つの方法は、PHPWebサービスと対話して出力ドキュメントを生成するVBAコードを含むWordドキュメントを作成することです。

于 2012-06-20T13:53:51.267 に答える
0

Webサービスはアプリケーションのオプションですか?もしそうなら、Docmosisを見てください-ドキュメントテンプレートをアップロードしてから、データ付きのリクエストを送信してメールマージを実行し、MSワードを含むさまざまなオプションで結果を出力できます。

于 2012-06-29T09:05:45.510 に答える