選択ポイントに従って HTML セクションを分割しようとしています。たとえば、私が持っているとします:
<table>
<tr><td> one </td></tr>
<tr><td> two </td></tr>
<tr><td> tree </td></tr>
</table>
ユーザーがマウスで選択two
して分割ボタンをクリックすると、次のようになります。
<table>
<tr><td> one </td></tr>
</table>
と
<table>
<tr><td> two </td></tr>
<tr><td> tree </td></tr>
</table>
P
他の要素 ( 、div
、...)、およびネストされた要素でも発生する可能性があります。
次の C# コードを試しました。
IHTMLDocument2 doc =
webBrowser1.Document.DomDocument as IHTMLDocument2;
IHTMLBodyElement body = doc.body as IHTMLBodyElement;
if (doc.selection != null)
{
if (doc.selection.type == "Text")
{
range = doc.selection.createRange() as IHTMLTxtRange;
range.moveEnd("textedit");
// NOW range.htmlText gives me the second part,
// however I don't know how to extract it from the section
// and remain the first part
}
}
これで、 range.htmlTextによって2 番目のフラグメントが完全に (親タグ付きで) 提供されますが、セクションからそれを抽出して最初のフラグメントを残す方法がわかりません。execCommand("cut")
ただし、選択が複数のテーブル行にまたがる場合、そのトリックは機能しません。
または他の解決策はありますか?