как сохранить в Буфер обмена

17. Капитан.Кук 20 16.11.15 17:54 Сейчас в теме
В управляемых формах помогло:
ОбъектКопирования = Новый COMОбъект("htmlfile");
ОбъектКопирования.ParentWindow.ClipboardData.SetData("Text", <нужный текст>);
Sam13; mikl79; Istur; taasha25; Mi4man; +5 Ответить
По теме из базы знаний
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
18. andy_fox@mail.ru 14.07.09 18:36 Сейчас в теме
Привет АЛЛ.

Как программно сохранить какие-то данные в Буфер обмена Windows, чтоб их можно было потом при желании вставлять куда-то использовав стандартные способы ВИНДЫ.
19. Душелов 4014 14.07.09 18:37 Сейчас в теме
А поиском воспользоваться?
20. andy_fox@mail.ru 14.07.09 18:43 Сейчас в теме
не нашёл.... может не умею искать конечно, или не подфартило.
21. Душелов 4014 14.07.09 18:50 Сейчас в теме
Форум - Поиск - Ключевые слова: буфер обмена - 2 ссылка сверху.
22. andy_fox@mail.ru 14.07.09 19:09 Сейчас в теме
Сорри, но это не совсем то - помоему....
мне нужно, скажем передать в буфер обмена результат расчёта автоматически-программно, а потом его при желании использовать... по тем ссылкам я так понял обратный процесс....

Есть ли в 1С команда или какой-то другой метод - "сохранить в буфер обмена" - что-то аналогичное нажатию CRTL+C...
23. Душелов 4014 14.07.09 19:15 Сейчас в теме
А в чем проблема, вместо getData использовать setData?
У 1С таких методов нет.
24. andy_fox@mail.ru 14.07.09 19:32 Сейчас в теме
ОК - будем искать .... сенкс.
25. sound 535 14.07.09 20:57 Сейчас в теме
(4) попробуй сейчас ради прикола какая ссылка будет :)
26. Tatitutu 3855 15.07.09 09:42 Сейчас в теме
можно средствами 1с 7.7 копировать в буфер обмена - через час выложу обработку на 7.7
27. Душелов 4014 15.07.09 09:43 Сейчас в теме
(9) Средствами 1С - никак. Или ВК, или активиксы.
28. Tatitutu 3855 15.07.09 10:30 Сейчас в теме
(10) немного ошибся - согласен,с помощью WScript.Shell
29. Душелов 4014 15.07.09 11:27 Сейчас в теме
30. seermak 665 15.07.09 14:33 Сейчас в теме
с помощью WScript.Shell - как-то глючно (через раз) работает
31. Tatitutu 3855 15.07.09 14:36 Сейчас в теме
(13) почему ты так решил - смотря как использовать и что копировать
если текст то на ура - 100 из 100
32. alexk-is 6533 15.07.09 18:20 Сейчас в теме
33. Alex_Sun 24.07.09 10:19 Сейчас в теме
У 1с есть в последних типовых конфах пример помещения в буффер обмена.
Открываем обработку Универсальный обмен данными хмл.
форма "ФормаРедактораТекстовогоДокумента"

// Копирует в буфер обмена переданный текст
// Параметры:
// Текст - Строка - для копирования в буфер обмена
Процедура СкопироватьТекстВБуферОбмена(Текст)

Окно = ЭлементыФормы.ПолеHTMLДокументаДляБуфераОбмена.Документ.ParentWindow;
Окно.ClipboardData.SetData("Text", Текст);

КонецПроцедуры
34. v3rter 11.12.18 14:14 Сейчас в теме
Для тех, у кого под RDP нельзя отключить конфигурацию усиленной безопасности Internet Explorer, есть ещё один способ:

	Тд = Новый ТекстовыйДокумент;
	Тд.УстановитьТекст(Текст); // Текст = что_копируем_в_буфер
	Тд.Записать(ПутьВременногоФайла,КодировкаТекста.OEM,Символы.ВК + Символы.ПС);
	КомОбъект = Новый COMОбъект("WScript.Shell"); КомОбъект.Run("%comspec% /c type """+ПутьВременногоФайла+""" | clip", 0,0); КомОбъект = Неопределено;

Можно и без временного файла вместо type используя echo,
КомОбъект.Run("%comspec% /c echo "+Текст +" | clip", 0,0);

но придется озаботиться "экранированием" некоторых символов ( <, >, |, &, %, ", ^ и т.п. ) путём добавления слева символа ^ (подробнее об этом см. https://rsdn.org/article/winshell/batanyca.xml )

К сожалению, слишком быстрое удаление временного файла с текстом может привести к тому, что команда системы к этому времени не успеет отработать, и буфер обмена останется пустым.
Sam13; eufes; sinusx; Evg-Lylyk; Serg2000mr; piton66; +6 Ответить
35. v3rter 11.12.18 15:35 Сейчас в теме
Впрочем, с удалением временного файла тоже решил:
КомОбъект.Run("%comspec% /c type """+ПутьВременногоФайла+""" | clip & del """+ПутьВременногоФайла+"""", 0,0);
sinusx; Evg-Lylyk; piton66; +3 Ответить
36. AgentD22 07.08.19 10:44 Сейчас в теме
А получить текст из буфера обмена:

Объект = Новый COMОбъект("htmlfile");
ТекстИзБуфера = Объект.ParentWindow.ClipboardData.Getdata("Text");
37. aster-x 28.04.23 11:35 Сейчас в теме
(33) Окно = ЭлементыФормы.ПолеHTMLДокументаДляБуфераОбмена.Документ.ParentWindow; - не работает
38. Serg2000mr 311 02.09.23 01:08 Сейчас в теме
(37) Это вариант для обычных форм.
39. platonov.e 158 23.01.24 09:07 Сейчас в теме
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)