Имя: Пароль:
1C
 
Как в поле ввода (строка) вставить некий текст в позицию курсора
0 OFF
 
модератор
22.11.05
08:04
по текущему положению курсора?
1 Волшебник
 
модератор
22.11.05
08:06
copy-paste
2 OFF
 
модератор
22.11.05
08:08
:) не канает
Вот тебе строка "v8: Как в поле ввода (строка <тут курсор>) вставить некий текст програмно"

Вместо <тут курсор> требуеться загнать "неограниченной длины"
3 OFF
 
модератор
22.11.05
09:47
? :)
4 Волшебник
 
модератор
22.11.05
09:48
(2) copy-paste канает

5 Rovan
 
гуру
22.11.05
09:51
может пойдет какой-нибудь SendKey( Ctrl-V )
6 Волшебник
 
модератор
22.11.05
09:53
(5) Я об этом толкую еще с первого поста.

7 OFF
 
модератор
22.11.05
12:01
Блин, ничего не понимаю :(
Толи лыжи, толи я :D
ЭлементыФормы.Добавить(Тип("ПолеHTMLДокумента"), "ПолеHTMLДокументаБуфер", Ложь);
   ЛевоеОкно    = ЭлементыФормы.ПолеHTMLДокументаБуфер.Документ.parentWindow;    
   ЛевоеОкно.clipboardData.SetData("Text", "неограниченной длины");    
   wshShell = Новый COMОбъект("WScript.Shell");    
   // Вот то все перепробовал, результат "0"
   // В буфере то данные есть, если просто ручками нажать "Контр+v"
   //wshShell.sendKeys("^+(V)");  
   //wshShell.sendKeys("^+(М)");
   //wshShell.sendKeys("^{V}");  
   //wshShell.sendKeys("^{М}");    
   //wshShell.sendKeys("^(V)");  
   //wshShell.sendKeys("^(М)");
   //wshShell.sendKeys("^V");  
   //wshShell.sendKeys("^М");
   Индекс=ЭлементыФормы.Индекс(ЭлементыФормы.Найти("ПолеHTMLДокументаБуфер"));
   ЭлементыФормы.Удалить(Индекс);
8 Волшебник
 
модератор
22.11.05
12:08
может фокус установить на поле ввода?

ЭтаФорма.ТекущийЭлемент = ЭлементыФормы.ПолеВвода;

9 OFF
 
модератор
22.11.05
12:11
не помогает :(
   ЭлементыФормы.Добавить(Тип("ПолеHTMLДокумента"), "ПолеHTMLДокументаБуфер", Ложь);
   ЛевоеОкно    = ЭлементыФормы.ПолеHTMLДокументаБуфер.Документ.parentWindow;    
   ЛевоеОкно.clipboardData.SetData("Text", "неограниченной длины");    
   
   ЭтаФорма.ТекущийЭлемент = ЭлементыФормы.Содержание;
   
   wshShell = Новый COMОбъект("WScript.Shell");        
   wshShell.sendKeys("^+(v)");  
   wshShell.sendKeys("^+(м)");
10 Волшебник
 
модератор
22.11.05
12:13
(9) Наверное, WScript.Shell не знает, куда посылать нажатия клавиш. Нужно найти окно текущего приложения.

11 Волшебник
 
модератор
22.11.05
12:14
(10)+
Shell.AppActivate("1С:Предприятие - НазваниеКонфигурации");

12 OFF
 
модератор
22.11.05
12:20
Пробовал, не помогает
Хоть Это пашет :D
Процедура ПриОткрытии()
   Сообщить("Мидяяяяяяяяяяяяяяяяяяяяя", СтатусСообщения.Внимание);
КонецПроцедуры
Процедура КоманднаяПанельДействие1(Кнопка)
   wshShell = Новый COMОбъект("WScript.Shell");
   wshShell.sendKeys("^+(z)");  
   wshShell.sendKeys("^+(я)");
КонецПроцедуры
ЗЫ. и без всяких Shell.AppActivate("1С:Предприятие - НазваниеКонфигурации");
13 Волшебник
 
модератор
22.11.05
12:23
а плюс зачем?

WSHShell.SendKeys("^(C)");

14 Волшебник
 
модератор
22.11.05
12:25
15 OFF
 
модератор
22.11.05
12:30
(14) уже в буфере лежит :), вот из него не хотит :D, точнее не хотело :D
Теперь все нормально!
ЗЫ. Все проблема в казахской и немецкой раскладках! Пошел курить и пить кофий :(
ЗЫ. Стас, пасиб за терпение ! :D
16 Волшебник
 
модератор
22.11.05
12:32
(15) По тем ссылкам есть и информация о том, как вставить из буфера. Но приятно, что проблема решена.

Ошибка? Это не ошибка, это системная функция.