我正在尝试使用 SharePoint 设计器创建一个按钮,onclick 将允许用户浏览文件夹,然后将内容 ( path:\filenames
) 放入共享点列表列。我已经使用了下面的代码,它可以工作,除了我需要一个不使用 activeX 的解决方案,因为我的系统设置为不允许未签名的 activex。我对任何适用于不使用和 activex 控件的共享点列表的解决方案持开放态度。我的按钮onclick="getFolderFiles()"
function getFolderFilesSub(fsoFolder, astrFolderFiles) {
var eFiles = new Enumerator(fsoFolder.Files);
eFiles.moveFirst();
While (eFiles.atEnd() ==false) {
astrFolderFiles.push(eFiles.item().Path);
eFiles.move.next();
}
var eSubFolders = new Enumerator(fsoFolder.SubFolders);
eSubFolders.moveFirst();
while (eSubFolders.atEnd() == false({
getFolderFilesSub(eSubFolders.item(), astrFolderFiles);
eSubFolders.moveNext();
}
}
function getFolderFiles() {
var objShell = new ActiveXObject('Shell.Application');
var objShellFolder = objShell.BrowseForFolder(0, 'Choose a folder', 0, 0);
if (objeShellFolder != null) {
var fso = new ActiveXObject('Scripting.FileSystemObject');
var fsoFolder = fso.GetFolder(objShellFolder.Items().Item().Path);
astrFolderFiles = new Array();
getFolderFilesSub(fsoFolder, astrFolderFiles);
if (astrFolderFiles.length != 0) {
var strFolderFiles = astrFolderFiles[0];
for (var i=1; i <= astrFolderFiles.length-1; i++) {
strFolderFiles = (strFolderFiles + '\n\ + astrFolderFiles[i];
}
document.getElementById(ct100$PlaceHolderMain$g_85cf34cd_8dc3_47ca_85d9_
a6f47297db56$ffFileNames$ct100#ct100$text
field").value = strFolderFiles;
}
}