アプリ版:「スタンプのみでお礼する」機能のリリースについて

下記のような処理をしようと悪戦苦闘中です。
[メイン画面(IE)]ボタンクリックで子画面開く
[子画面(IE)]MicrosoftWord文書とOKボタン表示
      →文書編集後、ボタンクリックでテキストを取得(できればHTML形式で)
      →メイン画面に取得テキストを表示

<開発環境>
 VisualStudio2010
 C#

Web Applicationを作るのは初めてで、いろいろ勉強しながら、子画面にWordファイルを
表示するところまでたどり着きました。
 ・子画面にIFRAMEを挿入し、別のASPXファイルをSRCに設定
 ・そのASPXのPage_Loadで、
   Response.ClearHeaders();
Response.ClearContent();
Response.Buffer = true;
Response.ContentType = "application/msword";
Response.WriteFile(パラメータで渡されたファイルパス);
Response.Flush();
Response.End();
  として、Word文書を表示

ここから先が分からないのです。
子画面のボタンクリック時に、何とかして表示中のWord文書のテキストを取得できないで
しょうか。
Windows Forms ApplicationでWord Objectを操作するプログラムなら経験があるので、
Word Objectを取得できれば後は何とかなると思うのですが...

IFRAMEに表示しているWordのObjectが取得不可能であれば、
 ・子画面のボタンクリックで一旦中間ファイルに保存
 ・メイン画面の処理で中間ファイルからWordObject生成
みたいな感じかなとも思うのですが、「一旦中間ファイルに保存」というのはどうすれば
いいのでしょうか?

どなたかお知恵をお貸しください。よろしくお願いします。

A 回答 (1件)

オリジナルはサーバから渡すとしても、操作は


クライアントサイドのWordでの操作ですよね?
保存といってもクライアント側に保存されるので
サーバから見えません。
WebアプリケーションではSubmitした時に、
画面の情報がサーバに送られるので、ファイルを
扱うならダウンロード、アップロード、メール添付の
いずれかしかありません。他の手段としては
ブラウザのセキュリティを緩めて、ActiveXの生成を
許可すればクライアントサイドスクリプトとAJAXを
組み合わせて、何とかできるかも知れませんが、
相当に危険(ActiveXを許すとウィルス感染の危険が
高くなる)なので、通常は許されません。
運用設計として、ダウンロード→編集→アップロード
としてみてはどうでしょう?
但し、ファイルにウィルスが入る心配があるため、
アップロードされたファイルのウィルスチェックをどの
ように行うか、あるいはこの操作が可能なユーザを
絞り込む等の対策も考えておく必要があります。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
仰るとおり、Wordでの操作はクライアント側なので、編集後に
「サーバへアップロード」という手順が必要になるのですね。
よく考えたら、サーバサイドのプログラムでWord Objectを
CreateObjectみたいな事になると、それはサーバ側のOfficeを
使用するという事で、好ましくないという記事を見ました。

http://support.microsoft.com/kb/257757/ja

Web Applicationの基本的な考え方がまだよく理解できていない
ようです。
 ・ダウンロードボタンでローカルへダウンロード
 ・クライアント側でWordを起動してもらい編集→上書き保存
  (もしくは今表示までは出来ているのでそこで編集してもらう?)
 ・アップロードボタンでサーバへアップロード→表示
みたいなイメージかと考えています。
ユーザ管理については、ログインでユーザごとに権限を設定する等
の管理を考えています。
アドバイスいただき、ありがとうございました。

お礼日時:2011/05/24 10:17

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!