Игорь, подобным образом вряд ли получится получить массив имен файлов, так как в буфер обмена попадают не имена, а сами файлы. Если бы речь шла только о получении текста из буфера обмена, это возможно одним из следующих вариантов:
1) Начиная с версии 3.3.1.95 -
var strClipboard = System.CopyClipBoardToText();
2) Независимо от версии -
var strClipboard ="";
var objIE =new ActiveXObject("InternetExplorer.Application");
objIE.Navigate("about:blank");
strClipboard = objIE.document.parentWindow.clipboardData.getData("Text");
objIE.Quit();
К сожалению, исходя из информации, полученной здесь, получить сами файлы или их имена подобным образом нельзя, поскольку в этом случае возвращается null.
Возможно, Вашу задачу можно решить по-другому. Например, вместо предварительного копирования файлов использовать диалог для выбора файлов:
var FileNames = System.CreateObject('TSObjectLibrary.StringsList');if((System.PromptForFileNames(FileNames, '*.*', '', "Выберите файл(ы)", ''))){
var NameValues = FileNames;}
var FileNamesArray = NameValues.Text.split('\r\n');
Олег Лабьяк,
разработчик,
3-я линия Службы поддержки Terrasoft.