Попросили помочь со скриптами vbs. Благодаря криворукости разработчиков специфическому поведению SAP, решением проблемы было использование буфера обмена. С чтением содержимого всё просто, а вот с записью уже не так тривиально. Причём, сторонний софт туда не скопировать и не скомпилировать - огорожено. Так что пользуют "васик".
Вобщем, нарыл вот такое. Кому надо, пользуйтесь:
Функция:
Function ClipBoard(input)
If IsNull(input) Then
ClipBoard = CreateObject("HTMLFile").parentWindow.clipboardData.getData("Text")
If IsNull(ClipBoard) Then ClipBoard = ""
Else
CreateObject("WScript.Shell").Run "mshta.exe javascript:eval(""document.parentWindow.clipboardData.setData('text','" & Replace(Replace(Replace(input, "'", "\\u0027"), """","\\u0022"),Chr(13),"\\r\\n") & "');window.close()"")", 0,True
End If
End Function
Использование:
Получение текста:
result = ClipBoard(null)
Установка текста:
ClipBoard("новый текст")
Если установка не нужна, можно функцию не использовать, хватит простой строки:
result = CreateObject("HTMLFile").parentWindow.clipboardData.getData("Text")
Для установки через setData такой способ не подходит (М$ пофиксили возможность зачем-то), посему приходится извращаться с помощью HTA.