Страницы: 1
RSS
Автоматизация вставки текста из Эксель в поле произвольной программы, Работаю в чате, помогите
 
Работаю в чате. Наработал себе очень много шаблонов в Эксель и всё что мне нужно, это не проходить путь Клик Эксель - Клик инфу ( всегда одна ячейка) - Копировать (CTRL C) - Клик программу - клик в поле программы - Вставить (CTRL V). Я хочу что бы было так: Клик в 1 ячейку Эксель - Клик макрос (либо Энтер) - И информация автоматически залетит в станет поле моей программы и переключиться на неё. Уважаемые, если знаете как решить эту задачу, подскажите, пожалуйста.
Изменено: ArRiO - 05.04.2019 14:59:50
 
ArRiO, ох и накликали Вы такой темой.
По вопросам из тем форума, личку не читаю.
 
Есть такая кнопка!
Вот горшок пустой, он предмет простой...
 
Хех..) Кнопка хороша. Но всё же, когда я целый день делаю Конрл Ц, Контрл В  и вечно скачу между вкладками программ мне очень хочется сделать так как я описал. По этому если знаете ответ как застолбить заранее место для вставки то помогите, подскажите.
Изменено: ArRiO - 04.04.2019 18:31:44
 
Ознакомьтесь с правилами форума. Предложите корректное название темы. С таким названием модераторы тему закроют. Дайте пример какая структура файла, с которым вы работаете и что вы хотите чтобы с ним происходило для упрощения вашей жизни. А в таком виде думаю вам поможет только кнопка по ссылке.
Вот горшок пустой, он предмет простой...
 
Есть возможность поменять название темы не удаляя её?
 
Есть такая возможность: предложите новое - модераторы поменяют.
 
Предлагаю следующие название. Автоматизация вставки текста из Эксель в поле произвольной программы.

Например калькулятора Виндовс (не могу придумать лучше). Но точно не блокнота и ворда.
 
Поменял, но Вас сейчас начнут просить конкретизировать название этой произвольной программы )
 
А точно ли нужен excel?
https://dvorkin.by/click2text/
По вопросам из тем форума, личку не читаю.
 
Цитата
ArRiO написал:
Клик клик Эксель - клик инфу - Вставить
Расшифруйте. "Клик клик Эксель" - это двойной клик по ячейке? Вы всегда копируете одну ячейку или бывает что диапазон из нескольких ячеек?
Другая программа понимает Ctrl+V для вставки или другое сочетание клавиш?
 
 Я всегда копирую только одну ячейку. Другая программа принимает Контрл В. По движениям. Клик ячейка - контрл ц - клик программа - клик поле - контрл в.
 
Ркдактировал описание. Программа хороша, но у меня очень много шаблонов, мне необходим Эксель для их фильтрования и сортировки.
Изменено: ArRiO - 05.04.2019 15:02:22
 
Можно попробовать переключаться между окнами так:
Скрытый текст
Также можно имитировать нажатие мыши:
Определяем нужное положение в рамках рабочего пространства:
Скрытый текст
Затем кликаем: (Есть синглклик и даблклик)
Скрытый текст
Также имитация Ctrl+C и Ctrl+V
Скрытый текст
Между действиями желательно проставлять слипы:
Скрытый текст
 
Спасибо. Сейчас буду пробовать. Помимо меня 40 человек желают что бы это заработало. Я очень надеюсь что всё будет ок.
 
ArRiO, 40 человек могли бы и скинуться и закинуть вопрос в раздел "Работа" и получить решение с учетом всех хотелок и возможностью доработки функционала. Не думаю - что разорились бы.
Вот горшок пустой, он предмет простой...
 
AutoIt такое умеет, когда-то делал именно такое - из Экселя в окно сторонней программы в нужные контролы.
 
1. По поводу "скинуться" это к сожалению не вариант. Простите.  Однако я могу от себя что-то платить за решение особенно каверзных тупиковых вопросов.
2. По поводу ответа Magistor8. Очень ёмко. Сейчас по частям подналаживаю Ваш скрипт. Уже в первой части ShowWindow hwnd открывает моего подопытного поверх других окон "Calculator" только из позиции "свернуто", а нужно что бы даже когда он развернут он становился поверх других окон и " загорался" активным окном.
3. Hogo, я не могу ставить стороннее ПО.. (

Спасибо что дали ветор мышления.
Это WinApi называется? Он в полной мере в VBA поддерживается или есть какие-то ограничения? Где про это почитать можно?
Изменено: ArRiO - 05.04.2019 17:45:18
 
Оставьте активными файл excel и вашу программу, дальше имитируйте нажатие alt+tab
 
Слишком много посторонних документов открыто что бы ограничится Alt+tab. Не всегда удобно. Я сейчас перед раскрытием попробую насильно сворачивать окно. Надеюсь получится.
Изменено: ArRiO - 06.04.2019 11:39:59
 
Цитата
ArRiO написал:
Помимо меня 40 человек желают что бы это заработало
Серьезный аргумент. :)

Попробуйте поработать с прилагаемой надстройкой. Рассчитана на версии Excel от 2007.

После ее открытия при первом двойном щелчке по ячейке будет предложено выбрать окно ("произвольной программы") для копирования содержимого ячейки. При последующих щелчках по непустым ячейкам копирование будет продолжаться без выбора окна.

Для отказа от копирования или для выбора другого окна дважды щелкните по пустой ячейке.

Для коллективного использования поместите данную надстройку в доступный сетевой каталог и установите для нее атрибут файла "только чтение" (read only).
Успехов!
Владимир
 
magistor8, вот так работает безотказно! Это на основе Вашего кода.

Private Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare PtrSafe Function ShowWindow Lib "user32.dll" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Const SW_SHOWNORMAL = 1&
Public Status As Integer

''''''''''''''' Активирует окно по названию '''''''''''''''''''''''''''''''''''''
Sub вот()
Dim hwnd&
hwnd = FindWindow(vbNullString, "НАЗВАНИЕ ПРОГРАММЫ")
If hwnd <> 0 Then 'Если открыто
ShowWindow hwnd, SW_MINIMIZE 'свернуть
   ShowWindow hwnd, SW_SHOWNORMAL 'развернуть
Else 'Если нет
   Exit Sub
End If
End Sub
Изменено: ArRiO - 06.04.2019 22:13:20
 
sokol92, рассматриваю Ваш вариант. Не могу разобраться как это работает и как активируется и вообще как это, блин, запустить и протестить, хотя бы на калькуляторе. Гугл в помощь! Когда разберусь, отпишусь.  
 
magistor8
SendKeys "^c" - имитация Ctrl C не работает, почему-то. Скорее всего по тому что я не подключил функцию API Windows какую-то (одной из тех непонятных строк, что Вы мне прислали.)
Заменил на ActiveCell.Copy (копировать активную ячейку)

Теперь бы ещё научится находить программу по части имени, а не по 100% совпадению.  
Изменено: ArRiO - 06.04.2019 23:17:44
Страницы: 1
Наверх