0

SpanElement を DOM の現在の (カーソル) 位置に挿入したかったのです。私はこのVB6関数を使用します:

Private Function InsertSpan(Tipo As String, Nome As String)

Dim oSpan As MSHTML.HTMLSpanElement
Dim oCurElement As MSHTML.IHTMLElement
Dim oDOM As MSHTML.HTMLDocument

Set oDOM = HTMLEdit.DOM
Set oCurElement = oDOM.activeElement

Set oSpan = oDOM.createElement("SPAN")

oSpan.Id = Tipo & "." & Nome
oSpan.className = Tipo
oSpan.innerHTML = "<b><font size='3' color='#000000'></font></b>"
oSpan.lastChild.lastChild.innerText = "[" & Nome & "]"
oSpan.Style.backgroundColor = "yellow"

oSpan.hideFocus = True
oSpan.contentEditable = "false"
oSpan.Style.verticalAlign = "middle"

oCurElement.appendChild oSpan
oDOM.parentWindow.Focus

End Function

ただし、SpanElement は現在の要素に追加されます。ありがとう、ルイージ。

4

2 に答える 2

1

置き換えて解決しました

oCurElement.appendChild oSpan

Dim objRange As IHTMLTxtRange
Set objRange = oDOM.selection.createRange
objRange.pasteHTML oSpan.outerHTML

ありがとうございます!

于 2012-09-25T13:48:26.693 に答える
0

私があなたの問題を正しく理解しているなら、あなたは取り替えることを試みることができます:

oCurElement.appendChild oSpan

と:

oCurElement.insertAdjacentHTML "beforeBegin"、oSpan.outerHTML

于 2012-09-12T15:41:59.617 に答える