'берет текст из буфера обмена и выводит сообщение с исправленным текстом Dim GLUK, Arr, i, sTxt, sSymb With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") .GetFromClipboard: GLUK = .GetText ' получить значение из буфера обмена End With Arr = Split(Replace(Replace(GLUK, "&#", ";&#"), ";;", ";"), ";") If UBound(Arr) > LBound(Arr) Then For i = LBound(Arr) To UBound(Arr) If Left(Arr(i), 2) = "&#" And IsNumeric(Mid(Arr(i), 3)) Then Arr(i) = CInt(Replace(Arr(i), "&#", "")) If Arr(i) > 256 Then Arr(i) = Arr(i) - 848 Arr(i) = Chr(Arr(i)) End If Next sTxt = Join(Arr, "") Else For i = 1 To Len(GLUK) sSymb = Mid(GLUK, i, 1) If AscW(sSymb) > 255 Then sTxt = sTxt & sSymb Else sTxt = sTxt & Chr(AscW(sSymb)) End If Next End If GLUK = InputBox("", "", sTxt)