
下記のような処理をしようと悪戦苦闘中です。
[メイン画面(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生成
みたいな感じかなとも思うのですが、「一旦中間ファイルに保存」というのはどうすれば
いいのでしょうか?
どなたかお知恵をお貸しください。よろしくお願いします。
No.1ベストアンサー
- 回答日時:
オリジナルはサーバから渡すとしても、操作は
クライアントサイドのWordでの操作ですよね?
保存といってもクライアント側に保存されるので
サーバから見えません。
WebアプリケーションではSubmitした時に、
画面の情報がサーバに送られるので、ファイルを
扱うならダウンロード、アップロード、メール添付の
いずれかしかありません。他の手段としては
ブラウザのセキュリティを緩めて、ActiveXの生成を
許可すればクライアントサイドスクリプトとAJAXを
組み合わせて、何とかできるかも知れませんが、
相当に危険(ActiveXを許すとウィルス感染の危険が
高くなる)なので、通常は許されません。
運用設計として、ダウンロード→編集→アップロード
としてみてはどうでしょう?
但し、ファイルにウィルスが入る心配があるため、
アップロードされたファイルのウィルスチェックをどの
ように行うか、あるいはこの操作が可能なユーザを
絞り込む等の対策も考えておく必要があります。
回答ありがとうございます。
仰るとおり、Wordでの操作はクライアント側なので、編集後に
「サーバへアップロード」という手順が必要になるのですね。
よく考えたら、サーバサイドのプログラムでWord Objectを
CreateObjectみたいな事になると、それはサーバ側のOfficeを
使用するという事で、好ましくないという記事を見ました。
http://support.microsoft.com/kb/257757/ja
Web Applicationの基本的な考え方がまだよく理解できていない
ようです。
・ダウンロードボタンでローカルへダウンロード
・クライアント側でWordを起動してもらい編集→上書き保存
(もしくは今表示までは出来ているのでそこで編集してもらう?)
・アップロードボタンでサーバへアップロード→表示
みたいなイメージかと考えています。
ユーザ管理については、ログインでユーザごとに権限を設定する等
の管理を考えています。
アドバイスいただき、ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
三菱GOTの画面切り替えについて
-
ブラウザのIDの調べ方が解りません
-
ページ遷移せずにjava部品を実...
-
ポップアップでウィンドウを表...
-
VBS/HTA:画面のサイズを取得す...
-
"+"文字が" (スペース)"に文字...
-
ブラウザ画面で、変更した値が...
-
Ctrl+F4を無効にしたい
-
Tomcatのセットアップ
-
JSPで画面を更新するには
-
ログインについて
-
親子画面での値の受け渡し方法
-
javascriptでセッションの削除...
-
このadidasの腕時計の時刻の設...
-
Formのデータが欠落することがある
-
JSPでsession変数が勝手に書き...
-
javascriptでセッションを取得
-
グローバルIPアドレスの変更タ...
-
フォーム上で押されたボタンに...
-
DVD鑑賞時、字幕を消すには??...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
三菱GOTの画面切り替えについて
-
Java-jspの画面入力値保持について
-
C言語で今まで表示していた画面...
-
画面遷移を行わずに同一ページ...
-
ASP.NET 画面遷移前の状態を保...
-
MFCプログラミング
-
ボタンを押したあとに画像を表...
-
アドレスバーに引数を表示させ...
-
遷移元を判定したい!
-
C# ログイン画面からメイン画面...
-
Strutsのデータ受け渡しについて
-
ServletからServletへの値渡し
-
登録後、呼び出し元ページに戻...
-
検索画面→結果画面→検索画面と...
-
Strutsで画面遷移させない。
-
JSPから出力されたHTML画面のcl...
-
Beautiful Soupのインストール...
-
JAVAのセッション変数の上書き...
-
strutsで、JSP→アクションクラ...
-
ブラウザアドレスバーからのURL...
おすすめ情報