Как войти в терминал Bloomberg через R или через файл wsf/vb/bat?

У меня есть сценарий R, который использует данные Bloomberg для создания отчета. Я могу получить данные Bloomberg с помощью пакета Rblp. Однако в идеале сценарий должен запускаться в 4 часа утра. Я пытаюсь запланировать это, но Bloomberg выходит из системы после определенного времени простоя. Итак, мне нужно сначала автоматизировать вход в Bloomberg.

Я нашел в Интернете следующий скрипт wsf для автоматизации входа в Bloomberg.

<package> 
 <job id="vbs"> 
  <script language="VBScript"> 
     set WshShell = WScript.CreateObject("WScript.Shell") 
     WshShell.AppActivate "1-BLOOMBERG" 
     WScript.Sleep 1000 
     WshShell.SendKeys "{esc}" 
     WScript.Sleep 1000 
     WshShell.SendKeys "login~" 
     WScript.Sleep 2000 
     WshShell.SendKeys "YOURUSERNAME{tab}YOURPASSWORD~" 
     WScript.Sleep 1000 
    </script> 
   </job> 
</package>

Однако, когда я запускаю его, он генерирует дополнительный символ в поле пароля (который не виден). Но если я использую тот же скрипт для какого-либо другого приложения, такого как Skype, он работает нормально.

Можно ли как-нибудь автоматизировать вход в Bloomberg?


person shiva    schedule 12.12.2018    source источник


Ответы (1)


Попробуйте это... это работает для меня. **Обратите внимание, что ключи отправки не работают, если компьютер заблокирован, поскольку это противоречит основной причине, по которой Windows имеет функцию блокировки. Итак ... Sendkeys может не быть решением, если вы хотите запустить что-то в 4 часа утра до того, как компьютер проснется / войдет в систему.

Sub bbg_login()
AppActivate ("1-BLOOMBERG")
Application.SendKeys "~", False
Application.Wait Now + TimeValue("00:00:01")
Application.SendKeys "username", False
Application.SendKeys "{TAB}", False
Application.SendKeys "password{BREAK}", False
Application.SendKeys "~", False
End Sub
person DrewBerg    schedule 10.01.2019