|
Скопировать текст в буфер обмена |
☑ |
0
Nic1
08.04.09
✎
10:41
|
Как можно скопировать произвольный текст в 1С в буфер обмена (например, по нажатии какой-то кнопки)? Из встроенного языка? Есть какие-нибудь команды?
|
|
1
Ёпрст
гуру
08.04.09
✎
10:42
|
запросто.
|
|
2
Sadovnikov
08.04.09
✎
10:42
|
(0) 1С++
БуферОбмена :: Установить / Set
Синтаксис: void Установить(Строка Текст)
Параметры:
Текст - тип: Строка. Новый текст для буфера обмена.
Описание: Сохраняет текст в системного буфере обмена.
|
|
3
Подводный Таракан
08.04.09
✎
10:42
|
ctrl+c не устраивает?
|
|
4
Ёпрст
гуру
08.04.09
✎
10:43
|
ie=СоздатьОбъект("internetexplorer.application"); ie.navigate("about:blank"); Док=ie.document; Док.ParentWindow.ClipboardData.clearData(); Док.ParentWindow.ClipboardData.SetData("Text","В буфер!!!"); Сообщить(Док.parentWindow.ClipboardData.getData("Text")); для 2003 КомандаСистемы("echo "+Стр+"|Clip"); ©smaharbA
|
|
5
Nic1
09.04.09
✎
10:06
|
sadovnikov> БуферОбмена :: Установить / Set
Синтаксис: void Установить(Строка Текст)
- Хм, а пример рабочий можно? Тут какой-то класс надо добавлять? Или прямо так и писать - "Устнановить ("копируем")"?
Епрст> ie=СоздатьОбъект("internetexplorer.application");
ie.navigate("about:blank");
Док=ie.document;
Док.ParentWindow.ClipboardData.clearData();
Док.ParentWindow.ClipboardData.SetData("Text","В буфер!!!");
Сообщить(Док.parentWindow.ClipboardData.getData("Text"));
- Это выдает постоянно пустую строку в сообщение...
> для 2003 КомандаСистемы("echo "+Стр+"|Clip");
- Копируется первый раз, нормально вставляется... Но второй раз уже не копирует, а оставляет то что было последний раз в буфере. Может тут надо еще буфер как-то очищать?
|
|
6
Nic1
09.04.09
✎
10:24
|
Срабатывает вот в такой последовательности:
Стр="";
Стр=СокрЛП(ГлПоказатьПолнНаимен(ТекущийЭлемент()));
ie=СоздатьОбъект("internetexplorer.application");
ie.navigate("about:blank");
Док=ie.document;
Док.ParentWindow.ClipboardData.clearData();
КомандаСистемы("echo "+Стр+"|Clip");
Но иногда глючит, например, вместо название товара выводит какое-то системное сообщение ("Режим вывода команд на экран (ECHO) включен")....
|
|
7
Sadovnikov
09.04.09
✎
13:04
|
(5)
оБуфер = СоздатьОбъект("БуферОбмена");
оБуфер.Установить("Пример");
Сообщить(оБуфер.Получить());
|
|
8
mikecool
09.04.09
✎
13:06
|
SendKey("+C")
|
|