Имя: Пароль:
1C
 
Копирование текста в буфер обмена
0 Varlant1n
 
20.08.21
09:30
Привет, ребята! У меня тут один вопрос к вам. Мне нужно скопировать текст из 1с в буфер обмена, чтобы в дальнейшем использовать его в другой программе. Я попробовал варианты из интернета по типу:
1)
ЭлементыФормы.Добавить(Тип("ПолеHTMLДокумента"), "Поле_HTML_Документа_acb123", Ложь);
Окно = ЭлементыФормы.Поле_HTML_Документа_acb123.Документ.ParentWindow;
Окно.ClipboardData.SetData("Text", ТекстПисьма);
ЭлементыФормы.Удалить(ЭлементыФормы.Индекс(ЭлементыФормы.Найти("Поле_HTML_Документа_acb123")));
/// Тут у меня ругается на тип
2)
Функция ПолучитьТекстБуфераОбмена() Экспорт
     #Если Клиент Тогда
      
     Объект = Новый COMОбъект("htmlfile");
      
     Возврат Объект.ParentWindow.ClipboardData.Getdata("Text");

     #КонецЕсли
КонецФункции
/// Тут у меня ругается на неизвестную ошибку. Через отладчик смотрю, а у меня у COM объекта нет метода "Getdata".



И я еще нашел метод через
wsh = Новый COMОбъект("WScript.Shell");      
wsh.SendKeys("^c");      
wsh.SendKeys("^v");
/// Но тут я не в курсе как мне передать сюда определенный текст. То есть как дать понять COM объекту какйо именно текст надо копироваать. И у меня вопрос к вам, как бы вы решили подобную задачу с копированием в буфер обмена? Буду рад услышать ваши варианты. Я думал еще над тем, чтобы просто создать файл, вставлять туда текст и после уже использовать, но данный метод не получается так как 1С находится на сервере и пользователи сидят через rdp, а программа в которую нужно скопирвоать текст на клиенте.
Независимо от того, куда вы едете — это в гору и против ветра!