下記のような処理をしようと悪戦苦闘中です。
[メイン画面(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で質問しましょう!
似たような質問が見つかりました
- Word(ワード) PCで作ったwordをスマホで編集しようとすると「このファイルは読み取り専用です。」と表示される。 3 2023/05/30 14:51
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- その他(Microsoft Office) officeのWordで作成した文章をメール添付してしたい 3 2023/08/07 07:12
- Word(ワード) Word 2016のマクロを Word 2021のWordでキー動作させたい 3 2023/04/12 16:14
- その他(Microsoft Office) エクセルのマクロについて教えてください。 5 2023/01/21 09:39
- アプリ Edgeを操作するアプリについて 4 2023/05/11 22:48
- その他(OS) Wordをクリックすると、サブ画面に開かれます。(デュアルモニター) 1 2022/11/18 03:49
- Java 動かなくなったのでJavaソースを手直しお願いします。 2 2022/04/30 05:35
- Google 翻訳 英語翻訳ソフトは良いものはありますか パソコン Chrome で右クリックで翻訳できるようにするには 1 2022/03/28 21:30
- その他(スマホアプリ・スマホゲーム) アプリをスマホにダウンロード、インストールする方法 3 2022/08/13 11:26
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Wi-Fiのパスワードが指定なしと...
-
プログラミングで例えばゲーム...
-
画像の縦横比固定の計算方法。
-
FormのsubmitでFormの内容がnull
-
C言語で今まで表示していた画面...
-
三菱GOTの画面切り替えについて
-
ホームページビルダーが遅い!...
-
UWSCの画像認識でのコードがよ...
-
検索画面→結果画面→検索画面と...
-
C# Windowsフォーム全コントロ...
-
フロントエンドフレームワーク...
-
strutsで、JSP→アクションクラ...
-
画面遷移を行わずに同一ページ...
-
Beautiful Soupのインストール...
-
HTMLのINPUTから画面表示
-
Javaプログラミングの質問にな...
-
画面の表示状態を取得したい。
-
javascriptでセッションの削除...
-
EL式 true falseを表示
-
腕時計の時報をならないように...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
三菱GOTの画面切り替えについて
-
C# ログイン画面からメイン画面...
-
C言語で今まで表示していた画面...
-
画面遷移を行わずに同一ページ...
-
Java-jspの画面入力値保持について
-
プログラミングで例えばゲーム...
-
フロントエンドフレームワーク...
-
ASP.NET 画面遷移前の状態を保...
-
遷移元を判定したい!
-
画像の縦横比固定の計算方法。
-
FormのsubmitでFormの内容がnull
-
画面を隠す・消す方法を教えて...
-
HTMLのINPUTから画面表示
-
登録後、呼び出し元ページに戻...
-
ボタンを押したあとに画像を表...
-
ServletからServletへの値渡し
-
Javascriptのhistory.back()が...
-
セッション切れでのリクエスト...
-
アドレスバーに引数を表示させ...
-
system("cls")について
おすすめ情報