Работа с буфером обмена (1Cv8)

Материал из КинтВики
Перейти к: навигация, поиск


Задача

Нужно поместить строку в буфер обмена и/или извлечь из него.

Использование поля html-документа

Источник: http://infostart.ru/public/16800/

<source lang=1c>

//поместить в буфер

ЭлементыФормы.Добавить(Тип("ПолеHTMLДокумента"), "ПолеHTMLДокумента", Ложь); Окно = ЭлементыФормы.ПолеHTMLДокумента.Документ.ParentWindow; Окно.ClipboardData.SetData("Text", ТекстПисьма); ЭлементыФормы.Удалить(ЭлементыФормы.Индекс(ЭлементыФормы.Найти("ПолеHTMLДокумента")));

//вставить из буфера

ЭлементыФормы.Добавить(Тип("ПолеHTMLДокумента"), "ПолеHTMLДокумента", Ложь); Окно = ЭлементыФормы.ПолеHTMLДокумента.Документ.ParentWindow; СодержимоеБуфера = Окно.ClipboardData.GetData("Text"); ЭлементыФормы.Удалить(ЭлементыФормы.Индекс(ЭлементыФормы.Найти("ПолеHTMLДокумента"))); ТекстПисьма = ТекстПисьма + СодержимоеБуфера;

</source>

Использование объекта InternetExplorer.Application

Источник: http://infostart.ru/public/63694/

<source lang=1c> my_obj = Новый COMОбъект("InternetExplorer.Application"); my_obj.Navigate("about:blank"); my_text = my_obj.Document.ParentWindow.ClipboardData.GetData("text"); my_obj.Quit(); </source>

Кроме текста можно еще использовать данные типа:

  • "URL" Формат URI
  • "File" Файловый формат
  • "HTML" Формат HTML
  • "Image" Формат графического образа

Проблемы:

  • при вставке в буфер обмена InternetExplorer может требовать подтверждения, в зависимости от настроек

Использование htmlfile

Работает только на чтение <source lang=vb> Set oHtml = CreateObject("htmlfile") sClipText = oHtml.ParentWindow.ClipboardData.GetData("text") WScript.Echo sClipText </source>