Обратите внимание, что вы никогда не заменяете возврат каретки.
Не забывайте, что эти константы превращаются в настоящие символы ASCII или комбинации символов ASCII
Теперь в вашем коде Вы делаете это:
strClipText = Replace(strClipText, vbLf, "")
strClipText = Replace(strClipText, vbCrLf, "")
strClipText = Replace(strClipText, vbNewLine, "")
Что делает эти три вещи:
Таким образом, вы никогда не избавитесь от Chr ( 13) который иногда будет отображаться как новая строка. Потому что даже если строки начинают жизнь как Char (13) + Char (10) (vbCrLf), когда вы заменяете vbLf пустой строкой, вы разбиваете Char (13) + Char (10).
Сделайте что-то вроде этого:
strClipText = Replace(strClipText, vbCrLf, "")
strClipText = Replace(strClipText, vbNewLine, "")
strClipText = Replace(strClipText, vbCR, "")
strClipText = Replace(strClipText, vbLf, "")
Нет никакого способа получить доступ к ним.
В зависимости от того, чего Вы пытаетесь достигнуть, лучший способ отладить события мог бы состоять в том, чтобы вывести свойства события, которыми Вы интересуетесь от функции обработчика событий...
Если Вы всегда добавляете и удаляете обработчики с пользовательским методом, можно поддержать журнал их в том же методе. Это добавляет немного служебные, чтобы сделать так.
Например, вот часть, которая касается IE -
//Run=window.Run || {Shadow:{},nextid:0};
else if(window.attachEvent){
Run.handler= function(who, what, fun){
if(who.attachEvent){
who.attachEvent('on'+what, fun);
var hoo=who.id || who.tagName+(++Run.nextid);
if(!Run.Shadow[hoo])Run.Shadow[hoo]={};
if(!Run.Shadow[hoo][what])Run.Shadow[hoo][what]=[];
Run.Shadow[hoo][what].push(fun);
}
}
}