Clip Board файлы
Скрипты
Разработка

CLIPBOARD (Список файлов)

Кто сталкивался с перечислением в массив имен файлов, ранее скопированных ctrl-c из explorer?
Не могу связать с:

FileNames = System.CopyClipBoardToStream();

Как работать с этим объектом?

Нравится

1 комментарий

Игорь, подобным образом вряд ли получится получить массив имен файлов, так как в буфер обмена попадают не имена, а сами файлы. Если бы речь шла только о получении текста из буфера обмена, это возможно одним из следующих вариантов:

1) Начиная с версии 3.3.1.95 -
[javascript]
var strClipboard = System.CopyClipBoardToText();
[/javascript]

2) Независимо от версии -
[javascript]
var strClipboard = "";
var objIE = new ActiveXObject("InternetExplorer.Application");
objIE.Navigate("about:blank");
strClipboard = objIE.document.parentWindow.clipboardData.getData("Text");
objIE.Quit();
[/javascript]

К сожалению, исходя из информации, полученной здесь, получить сами файлы или их имена подобным образом нельзя, поскольку в этом случае возвращается null.

Возможно, Вашу задачу можно решить по-другому. Например, вместо предварительного копирования файлов использовать диалог для выбора файлов:
[javascript]
var FileNames = System.CreateObject('TSObjectLibrary.StringsList');
if ((System.PromptForFileNames(FileNames, '*.*', '', "Выберите файл(ы)", ''))) {
var NameValues = FileNames;
}
var FileNamesArray = NameValues.Text.split('\r\n');
[/javascript]

Олег Лабьяк,
разработчик,
3-я линия Службы поддержки Terrasoft.

Показать все комментарии