C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[17]: ウェブブラウザで編集したページを保存


(過去ログ 70 を表示中)

[トピック内 18 記事 (1 - 18 表示)]  << 0 >>

■40662 / inTopicNo.1)  ウェブブラウザで編集したページを保存
  
□投稿者/ RT (115回)-(2009/08/31(Mon) 19:08:31)

分類:[C#] 

たびたびお世話になります。

IT業界歴2ヵ月、C#歴2ヵ月のRTです。

質問なのですが、

mshtml.IHTMLDocument2 myDocument2 = (mshtml.IHTMLDocument2)webBrowser1.Document.DomDocument;
myDocument2.designMode = "On"; // 編集モード開始

↑で、編集したページは、保存出来る事がわかっているのですが、

webBrowser1.Document.Body.SetAttribute("contentEditable", "true");

で編集したページは、

webBrowser_Main.Document.ExecCommand("SaveAs", false, null);

で、Saveしようとしたが、ダメでした。また、


Stream tag = webBrowser1.DocumentStream; // event.srcElement の代用

//HtmlElement tag2 = webBrowser1.Document.Body;

//richTextBox1.Text = tag2.;
//while (tag != null && tag.TagName != "BODY") tag = tag.Parent;
//if (tag != null)
//{
//Shift_JISへの変換情報をEncoding型の変数に入れる。
richTextBox1.Text = "";

Encoding enc = Encoding.GetEncoding("Shift_JIS");

//ページ情報をShift_JISに変換しながら、読み込む、という情報をStreamReader型の変数に入れる。
StreamReader sr = new StreamReader(tag, enc);

//ページを上記の方法で最後の行まで、読み取る。
richTextBox1.Text = sr.ReadToEnd();

//srを閉じる。
sr.Close();

等で、リッチテキストボックスに編集したデータを読み込もうとしたのですが、出来ませんでした。

webBrowser1.Document.Body.SetAttribute("contentEditable", "true");  で、
編集したページを保存する事は出来るのでしょうか?


引用返信 編集キー/
■40663 / inTopicNo.2)  Re[1]: ウェブブラウザで編集したページを保存
□投稿者/ やじゅ (1293回)-(2009/08/31(Mon) 19:27:43)
やじゅ さんの Web サイト
No40662 (RT さん) に返信
> で、Saveしようとしたが、ダメでした。また、

ダメというのは、書き換えた内容が保存されなかったってことですか?

No39822 にて、魔界の仮面弁士さんが
string s = webBrowser1.Document.GetElementsByTagName("HTML")[0].OuterHtml;
などを使えば、(完全ではありませんが)書き変わった後の HTML を得る事ができます。

とあったと思いますし、RTさんがその時にそれで保存した記述を見ましたけど、
それじゃ駄目だったんでしょうか?
引用返信 編集キー/
■40665 / inTopicNo.3)  Re[2]: ウェブブラウザで編集したページを保存
□投稿者/ RT (116回)-(2009/08/31(Mon) 19:39:26)
No40663 (やじゅ さん) に返信
> ■No40662 (RT さん) に返信
>>で、Saveしようとしたが、ダメでした。また、
>
> ダメというのは、書き換えた内容が保存されなかったってことですか?
>
> ■No39822 にて、魔界の仮面弁士さんが
> string s = webBrowser1.Document.GetElementsByTagName("HTML")[0].OuterHtml;
> などを使えば、(完全ではありませんが)書き変わった後の HTML を得る事ができます。
>
> とあったと思いますし、RTさんがその時にそれで保存した記述を見ましたけど、
> それじゃ駄目だったんでしょうか?

string s = webBrowser1.Document.GetElementsByTagName("HTML")[0].OuterHtml;

で読み込むと、元のHTMLコードと違うコードになってしまいます。(改行など)
引用返信 編集キー/
■40667 / inTopicNo.4)  Re[3]: ウェブブラウザで編集したページを保存
□投稿者/ 魔界の仮面弁士 (1257回)-(2009/08/31(Mon) 20:31:18)
No40665 (RT さん) に返信
> string s = webBrowser1.Document.GetElementsByTagName("HTML")[0].OuterHtml;
> で読み込むと、元のHTMLコードと違うコードになってしまいます。(改行など)

MSHTML 編集機能の仕様です。そしてその事については、先の No39822 にて、
>> IE/WebBrowser の編集機能では、HTML のソース コードの書式を保持する事はできません。
>> (大文字小文字の制御、コメントの維持、ソースコード上の改行位置の調整など)
と予め説明してあるかと思います。

この点に関しては、WebBrowser の編集機能ではどうやっても回避不可能なので、
ソースコードの書式を維持するための手法として、WebBrowser 以外で
編集するという手法が幾つか提示されていますね(たとえば DHTMLEdit など)。
引用返信 編集キー/
■40668 / inTopicNo.5)  Re[4]: ウェブブラウザで編集したページを保存
□投稿者/ RT (117回)-(2009/08/31(Mon) 20:56:02)
2009/09/01(Tue) 00:10:49 編集(投稿者)
2009/08/31(Mon) 21:01:24 編集(投稿者)

No40667 (魔界の仮面弁士 さん) に返信
> ■No40665 (RT さん) に返信
>>string s = webBrowser1.Document.GetElementsByTagName("HTML")[0].OuterHtml;
>>で読み込むと、元のHTMLコードと違うコードになってしまいます。(改行など)
>
> MSHTML 編集機能の仕様です。そしてその事については、先の No39822 にて、
> >> IE/WebBrowser の編集機能では、HTML のソース コードの書式を保持する事はできません。
> >> (大文字小文字の制御、コメントの維持、ソースコード上の改行位置の調整など)
> と予め説明してあるかと思います。
>
> この点に関しては、WebBrowser の編集機能ではどうやっても回避不可能なので、
> ソースコードの書式を維持するための手法として、WebBrowser 以外で
> 編集するという手法が幾つか提示されていますね(たとえば DHTMLEdit など)。

「Microsoft DHTML Editing SDK」に含まれているDHTML Edit Controlをダウンロードするサイトまた、その使い方を教えてください。リンク切れのページばかりで見つかりません。


引用返信 編集キー/
■40672 / inTopicNo.6)  Re[5]: ウェブブラウザで編集したページを保存
□投稿者/ 魔界の仮面弁士 (1258回)-(2009/09/01(Tue) 00:00:46)
No40668 (RT さん) に返信
> DHTMLEditコントロールは、パソコンにすでにインストール済のようですが、
> http://hpcgi1.nifty.com/MADIA/VBBBS/wwwlng.cgi?print+200301/03010027.txt
> ↑のページで見ましたが、使ってはいけないのでしょうか?

それを使って開発するのは自由です。問題は、そのコンポーネントを再頒布できるかどうかですね。

そもそも実行環境である相手先に、既にコントロールがインストール済みであるのならば、
再頒布する必要はありませんから、相手先に無かった場合にどうするかを検討する事になります。
(少なくとも、手元の Windows 7 Ultimate Edition 端末上には見当たりませんでした)

まず、そのページに書かれている『Microsoft DHTML Editing SDK』に付属のコントロールや、
先に紹介した『DHTML Editing Control for Applications Redistributable Package (x86)』は、
再頒布が許諾されています。ですから、これを利用するのが賢明でしょう。

再頒布パッケージ(Redistributable Package)の入手先は、以前回答した URL を参照してください。
(対象環境は、Vista 向けとなっているようです)

一方、SDK については、リリース当初は Microsoft の幾つかのサイトから入手できたのですが、
何しろ 11 年も前の代物なので、現在は入手先も殆ど見つかりません。とはいえ、今のところは、
「MSDN サブスクライバ ダウンロード」から入手できることを確認しています。
https://msdn.microsoft.com/ja-jp/subscriptions/dd197623.aspx


なお、この SDK のファイル名は EN_DHTMLSDK.exe または DHEDSDK.EXE です。

また、SDK 付属版の DHTMLED.OCX バージョンは 6.1.0.8243。
当方 WindowsXP内の DHTMLED.OCX バージョンは 6.01.9247。
Vista 用再頒布版の DHTMLED.OCX バージョンは 6.2.0.1 …のようです。

機能的な更新は停止しているものの、モジュール自体は修正され続けていたようですね。


> また、使っていいのなら、どうやって使うのでしょうか?

DHTMLED.OCX の具体的な使い方は、現状では SDK の \Docs\SDK_Help.chm が
ほぼ唯一の公式マニュアル(英語)になるかと思います。
(1998 年当時の代物なので、.NET 向けの記載にはなっていない事を覚悟しておいてください)


利用例としては、\SAMPLES フォルダに VC++6、VB6、それに Web ベースのサンプルが
付属しています。Visual Studio 6.0 をお持ちであれば、これらのサンプルが
役に立つかと思います。Visual Studio 6.0 をお持ちでなければ、Web 版の
動作サンプル(DHTMLEd.js/DHTMLEd.vbs/*.asp等)の方だけでも見ておいてください。

ただし Web 版のサンプルは IE4 を対象に作られたものであるため、最近の IE バージョンで
実行した場合には、サンプルの一部機能が動作しなかったりするようです。
(これは DHTMLEdit の問題というよりも、サンプル側の作りの問題です)



とはいえ、DHTMLEdit (あるいは MSHTML 編集機能)を使った結果が、
RT さんの要望に答える物であるかどうかまでは保証できかねます。

場合によっては、HTML ソースを直接、(ユーザーではなく開発者が)編集するような
機能を作りこまなければならないかも知れませんし、あるいは DHTLEdit の機能だけで
充分に解決できるのかも知れません。ただしいずれにせよ、大昔の機能という事もあり、
今となっては情報が少ないため、茨の道を歩む覚悟は必要かもしれません。
引用返信 編集キー/
■40674 / inTopicNo.7)  Re[6]: ウェブブラウザで編集したページを保存
□投稿者/ RT (118回)-(2009/09/01(Tue) 00:46:30)
No40672 (魔界の仮面弁士 さん) に返信

> 一方、SDK については、リリース当初は Microsoft の幾つかのサイトから入手できたのですが、
> 何しろ 11 年も前の代物なので、現在は入手先も殆ど見つかりません。とはいえ、今のところは、
> 「MSDN サブスクライバ ダウンロード」から入手できることを確認しています。
> https://msdn.microsoft.com/ja-jp/subscriptions/dd197623.aspx

ダウンロードするには、何か商品を購入するなどして、権利を得ないといけないのでしょうか?
引用返信 編集キー/
■40675 / inTopicNo.8)  Re[7]: ウェブブラウザで編集したページを保存
□投稿者/ やじゅ (1294回)-(2009/09/01(Tue) 01:13:58)
やじゅ さんの Web サイト
No40674 (RT さん) に返信

DHTMLEditを使ったフリーソフトに、alphaEDITがあります。
これを使ってみて、RTさんが作成しようとするものに問題ないか確認するといいでしょう。
http://www.pololon.com/koby/software.php?id=alphaEDIT
http://homepage.ojaru.jp/index.html

DHTMLEditの使い方は、ここで質問したとして、はたして答えられる人がいるかどうか
ご自分で解決せざる得ない状態になるかと思います。

引用返信 編集キー/
■40677 / inTopicNo.9)  Re[8]: ウェブブラウザで編集したページを保存
□投稿者/ RT (119回)-(2009/09/01(Tue) 09:16:27)
No40675 (やじゅ さん) に返信
> ■No40674 (RT さん) に返信
>
> DHTMLEditを使ったフリーソフトに、alphaEDITがあります。
> これを使ってみて、RTさんが作成しようとするものに問題ないか確認するといいでしょう。
> http://www.pololon.com/koby/software.php?id=alphaEDIT
> http://homepage.ojaru.jp/index.html

alphaEDITは、おおよそはイメージ通りです。あとは、クリックやドラッグのイベントがとれるかどうかですね。


> DHTMLEditの使い方は、ここで質問したとして、はたして答えられる人がいるかどうか
> ご自分で解決せざる得ない状態になるかと思います。

実際使ってみて、使うかどうか判断したいと思います。
引用返信 編集キー/
■40777 / inTopicNo.10)  Re[9]: ウェブブラウザで編集したページを保存
□投稿者/ RT (120回)-(2009/09/02(Wed) 18:47:30)
> 「MSDN サブスクライバ ダウンロード」から入手できることを確認しています。
> https://msdn.microsoft.com/ja-jp/subscriptions/dd197623.aspx

ダウンロードするためのキーはどこで手に入れるのでしょうか?
引用返信 編集キー/
■40781 / inTopicNo.11)  Re[10]: ウェブブラウザで編集したページを保存
□投稿者/ やじゅ (1302回)-(2009/09/02(Wed) 20:44:03)
やじゅ さんの Web サイト
2009/09/02(Wed) 20:44:52 編集(投稿者)

No40777 (RT さん) に返信
>>「MSDN サブスクライバ ダウンロード」から入手できることを確認しています。
>>https://msdn.microsoft.com/ja-jp/subscriptions/dd197623.aspx
>
> ダウンロードするためのキーはどこで手に入れるのでしょうか?

RT さん所属する会社で、もしかしたら購入されているかも知れないので
会社の人に聞いてみては?
http://msdn.microsoft.com/ja-jp/subscriptions/dd179298.aspx
http://gigazine.net/index.php?/news/comments/20090424_msdn_subscription/
引用返信 編集キー/
■40821 / inTopicNo.12)  Re[11]: ウェブブラウザで編集したページを保存
□投稿者/ Jitta on the way (420回)-(2009/09/03(Thu) 21:01:07)
No40781 (やじゅ さん) に返信
> 2009/09/02(Wed) 20:44:52 編集(投稿者)
>
> ■No40777 (RT さん) に返信
> >>「MSDN サブスクライバ ダウンロード」から入手できることを確認しています。
> >>https://msdn.microsoft.com/ja-jp/subscriptions/dd197623.aspx
>>
>>ダウンロードするためのキーはどこで手に入れるのでしょうか?
>
> RT さん所属する会社で、もしかしたら購入されているかも知れないので
> 会社の人に聞いてみては?
> http://msdn.microsoft.com/ja-jp/subscriptions/dd179298.aspx
> http://gigazine.net/index.php?/news/comments/20090424_msdn_subscription/

ライセンスは個人に与えられるので、会社で買っているというだけではグレーです。空いているライセンスがないか、確認しないと。

引用返信 編集キー/
■40824 / inTopicNo.13)  Re[12]: ウェブブラウザで編集したページを保存
□投稿者/ 魔界の仮面弁士 (1267回)-(2009/09/03(Thu) 23:18:13)
2009/09/03(Thu) 23:24:49 編集(投稿者)
No40821 (Jitta on the way さん) に返信
>>>> 一方、SDK については、リリース当初は Microsoft の幾つかのサイトから入手できたのですが、

http://support.microsoft.com/kb/278434/ja
を見ると、当時は
http://msdn.microsoft.com/work%73hop/Author/dhtml/edit/ref/cncpt.asp
などから、SDK を参照できたようです(現在はデッドリンク)。

それを Internet Archive のキャッシュから辿ると、当時の面影を見る事ができました。
http://web.archive.org/web/%2a/http%3a//msdn.microsoft.com/work%73hop/Author/dhtml/edit/ref/cncpt.asp


で。[Dec 02, 2000] から『〜 as an SDK that you can download from [here].』のリンクを
辿ったところ、dhedsdk.exe をダウンロードできましたが…使って良いのかなコレ。


>>>ダウンロードするためのキーはどこで手に入れるのでしょうか?
そこからダウンロードする場合には、MSDN Subscription の契約が必要です。
http://msdn.microsoft.com/ja-jp/subscriptions/dd197624.aspx


> ライセンスは個人に与えられるので、会社で買っているというだけではグレーです。空いているライセンスがないか、確認しないと。
Visual Studio の 上位エディションについては、
 Visual Studio Professional Edition をお持ちなら、[MSDN Professional Subscription]
 Visual Studio Team System シリーズ をお持ちなら、[MSDN Premium Subscription]
のライセンスが付属していますね。
もっとも、これらのライセンスがあるなら、C# Express Edition は使っていないでしょうけれども…。

とはいえ、それらの下位にあたる
 MSDN Operating System Subscription 
の場合でも DHTMLEdit SDK はダウンロードできるようです。


ただ、MSDN Subscriber Download から入手できるこの SDK は、何故か最新版では無いようです…。

MSDN Subscriber Download からダウンロードできる en_dhtmlsdk.exe を実行すると、その中から
本体である dhedsdk.exe というインストーラが現れるのですが、その dhedsdk.exe のプロパティには
         バージョン: 4.71.1015.0
     製品バージョン: 6.01.8243
 電子署名の署名時刻: 1998年9月2日 03:22:39
と書かれていました。

一方、先の Internet Archive から入手した方を見てみると、
         バージョン: 4.71.1015.0
     製品バージョン: 6.01.8474
 電子署名の署名時刻: 1999年4月20日 06:52:48
という、より新しいバージョンになっていました。


中の DHTMLEd.ocx の製品バージョンも、前者が Ver.6.01.8243、後者が 6.01.8244 となっており、
やはり相違が見られます。付属のリファレンスも見比べてみましたが、後者には
》 Note
》   This documentation contains some updates to the documentation
》   shipped with the 1.0 version of the DHTML Editing Component SDK.
という記述が追加されており、更新版である事が伺えます。

……どうせなら、最新版を提供して欲しいものですね。


ちなみに、手持ちの
 C:\Program Files\Common Files\Microsoft Shared\Triedit\DHTMLEd.ocx
の製品バージョンを比較してみたところ、当方 WinXP Pro SP3 機では
 Ver.6.01.9247
でした。

引用返信 編集キー/
■40826 / inTopicNo.14)  Re[13]: ウェブブラウザで編集したページを保存
□投稿者/ Azulean (447回)-(2009/09/04(Fri) 00:01:55)
本筋ではありませんが…。

No40824 (魔界の仮面弁士 さん) に返信
> Visual Studio の 上位エディションについては、
>  Visual Studio Professional Edition をお持ちなら、[MSDN Professional Subscription]
>  Visual Studio Team System シリーズ をお持ちなら、[MSDN Premium Subscription]
> のライセンスが付属していますね。

Professional-Premium, Professional-Embedded な組み合わせも一応あります。
Visual Studio Professional Edition だから、MSDN Professional Subscription だとは限りません。

http://msdn.microsoft.com/ja-jp/subscriptions/dd179304.aspx

引用返信 編集キー/
■40872 / inTopicNo.15)  Re[14]: ウェブブラウザで編集したページを保存
□投稿者/ RT (121回)-(2009/09/04(Fri) 20:33:22)
> Visual Studio Professional Edition をお持ちなら、[MSDN Professional Subscription]
> Visual Studio Team System シリーズ をお持ちなら、[MSDN Premium Subscription]
>のライセンスが付属していますね。

Visual Studio 2005 Professional Editionを持っていますが、電話で問い合わせたところ、Subscriptionのサービスはついていないようです。

>で。[Dec 02, 2000] から『〜 as an SDK that you can download from [here].』のリンクを
>辿ったところ、dhedsdk.exe をダウンロードできましたが…使って良いのかなコレ。

インストールしましたが、どうやって使うのでしょうか?Vstudioを開いて見てみましたが、コントロールが追加された様子もないようです。

>そもそも実行環境である相手先に、既にコントロールがインストール済みであるのならば、
>再頒布する必要はありませんから、相手先に無かった場合にどうするかを検討する事になります。
>(少なくとも、手元の Windows 7 Ultimate Edition 端末上には見当たりませんでした)

7で使えないと苦しいですね。再頒布するのには、紹介してもらったサイトからダウンロードするか、ユーザーにSubscriptionサービスを受ける権利を買ってもらって、ダウンロードするしかないようですね。
引用返信 編集キー/
■40875 / inTopicNo.16)  Re[15]: ウェブブラウザで編集したページを保存
□投稿者/ 魔界の仮面弁士 (1272回)-(2009/09/04(Fri) 21:40:08)
2009/09/04(Fri) 22:02:49 編集(投稿者)

No40872 (RT さん) に返信
>> Visual Studio Professional Edition をお持ちなら、[MSDN Professional Subscription]
>> Visual Studio Team System シリーズ をお持ちなら、[MSDN Premium Subscription]
>> のライセンスが付属していますね。
> Visual Studio 2005 Professional Editionを持っていますが、
> 電話で問い合わせたところ、Subscriptionのサービスはついていないようです。

VS2008 では無いのですね。

VS2005 当時だとすると、
 Visual Studio 2005 Professional Edition
には付属していませんが、
 Visual Studio 2005 Professional with MSDN Professional Subscription
には付属しています。

まぁ後者だとしても、MSDN 自体は年間契約なので、使うためには
現在まで契約更新し続けている必要がありますが…。


> インストールしましたが、どうやって使うのでしょうか?
インストールしたフォルダの中に、license.txt や readme.htm や SDK_Help.chm がありませんか?


> Vstudioを開いて見てみましたが、コントロールが追加された様子もないようです。
それは当然でしょう。。。(^^;)
そこまで面倒は見てくれませんよ。.NET Framework すら登場していない時代の SDK なのですから。

ActiveX コンポーネントをツールボックスに登録する作業は、RTさん自身が手動で行ってください。


> >(少なくとも、手元の Windows 7 Ultimate Edition 端末上には見当たりませんでした)
ただし、何故か C:\Program Files\Common Files\Microsoft Shared\Triedit\ja-jp という空のフォルダが存在していました。


> 7で使えないと苦しいですね。
7 どころか、先述したように Vista 以降には同梱されていません。
再頒布しないと使えないですね。

逆に言えば、それ以前の OS (WinXP や Server2003 など)であれば、DHTMLED.OCX が既に同梱されていますので、
再頒布は不要であるとも言えます。流石に Win95 等まで遡ると、OS 側には同梱されていませんが、
そこまで行くと、今度は .NET Framework 自体がサポート外となるので、気にしなくても良いでしょうね。


> 再頒布するのには、紹介してもらったサイトからダウンロードするか、ユーザーにSubscriptionサービスを
> 受ける権利を買ってもらって、ダウンロードするしかないようですね。
そんな事はありませんよ。ユーザーは開発者では無いのですから、SDK をインストールして貰う必要はありません。
RTさん自身が、アプリと共にランタイムを再頒布すれば済みます。

再頒布の条件については、SDK をインストールしたフォルダの \Docs\SDK_Help.chm を開き、
その中の『Distributing the DHTML Editing Component』の項を参照してください。


ただし SDK付属の ocx は、恐らくは Vista には対応していないと思います。もしも Vista 環境に
配布する場合には、以前に紹介した Vista 向けの再頒布パッケージ(DhtmlEd.msi)を配布してみてください。
引用返信 編集キー/
■40876 / inTopicNo.17)  Re[16]: ウェブブラウザで編集したページを保存
□投稿者/ RT (122回)-(2009/09/04(Fri) 22:24:04)
No40875 (魔界の仮面弁士 さん) に返信

>ランタイムを再頒布すれば済みます。

ランタイムライブラリは、サイトからダウンロードするのですね?
引用返信 編集キー/
■40889 / inTopicNo.18)  Re[17]: ウェブブラウザで編集したページを保存
□投稿者/ RT (123回)-(2009/09/05(Sat) 16:26:31)
2009/09/05(Sat) 17:51:20 編集(投稿者)

DHTMLコントロールは、

webBrowzerみたいに、タグごとに編集の制限をかけたりすることができるのでしょうか?

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -