HelpF.pro

Работа с буфером обмена средствами 1С

Копировать из 1С в буфер обмена( без ВК):
Код 1C v 8.х
 ЭлементыФормы.Добавить(Тип("ПолеHTMLДокумента"), "Поле_HTML_Документа_acb123", Ложь);
Окно = ЭлементыФормы.Поле_HTML_Документа_acb123.Документ.ParentWindow;
Окно.ClipboardData.SetData("Text", ТекстПисьма);
ЭлементыФормы.Удалить(ЭлементыФормы.Индекс(ЭлементыФормы.Найти("Поле_HTML_Документа_acb123")));   


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


При определенных настройках политики безопасности, способ с ПолеHTMLДокумента НЕ работает, используйте:
Код 1C v 8.х
 
Функция ПолучитьТекстБуфераОбмена() Экспорт
#Если Клиент Тогда
    Объект = Новый COMОбъект("htmlfile");
    Возврат Объект.ParentWindow.ClipboardData.Getdata("Text");
#КонецЕсли
КонецФункции
 
Функция УстановитьТекстВБуферОбмена(Текст) Экспорт
#Если Клиент Тогда 
    Объект = Новый COMОбъект("htmlfile");
    Объект.ParentWindow.ClipboardData.Setdata("Text", Текст);
    Возврат Текст;
#КонецЕсли 
КонецФункции   

Для 7.7:
Код 1C v 7.x
 Set objHTM = CreateObject("htmlfile");
Текст = "Помощь в 1С";
objHTM.ParentWindow.ClipboardData.Setdata("Text", Текст);
Текст = objHTM.ParentWindow.ClipboardData.GetData("text");


Используя WSH:
Код 1C v 8.х
  // через SendKeys передаем Ctrl-C и Ctrl-V    
wsh=Новый COMОбъект("WScript.Shell");    
// Скопировать текст     
wsh.SendKeys("^c");      
// Вставить текст  
wsh.SendKeys("^v");   

Код 1C v 7.x
  // через SendKeys передаем Ctrl-C и Ctrl-V    
wsh=СоздатьОбъект("WScript.Shell"); 
// Скопировать текст     
wsh.SendKeys("^c");  // или так:  wsh.SendKeys("^(C)");          
// Вставить текст  
wsh.SendKeys("^v");  // или так:  wsh.SendKeys("^(V)");  

//Объект Clipboard
WshExtra = СоздатьОбъект("WshExtra.Clipboard");  
// Скопировать текст   
WshExtra.Copy("Запись в буфер обмена")
// Вставить текст 
Текст = WshExtra.Paste(); 

Опубликовано на сайте: https://HelpF.pro
Прямая ссылка: https://HelpF.pro/faq/view/705.html