我是宏开发(以及一般编程)的初学者。 现在,我想测试用于处理多个目录中图像的基本循环功能,并且在代码的开头出现错误: 语句不能在第42行中以“ {”开头。 我在下面的代码中指出了错误显示在哪一行,如果代码太长,则表示歉意。
我取消了打印功能。我仔细看了看空格等,但是我从网上使用了一个示例模板,所以那里应该没有任何问题。 我在此论坛或其他任何论坛上都找不到类似的问题。
FileName = getString("Enter the name of the 2-channel file in each folder", "RGB")
InputFileExt = getString("Enter the file extension", ".tif")
MainDir = getDirectory("Choose the Main Directory");
function processFolder(MainDir) {
dir = getFileList(MainDir);
for (i=0; i < dir.length; i++) { <---- error
print(dir[i] + FileName + InputFileExt)
if(File.isDirectory(MainDir + dir[i]))
processFolder("" + MainDir + dir[i]);
if(endsWith(dir[i] + FileName + InputFileExt)
processFile(dir[i] + FileName + InputFileExt);
}
}
function processFile (dir[i] + FileName + InputFileExt) {
run("Split Channels");
selectWindow("RGB.tif (blue)");
close();
selectWindow("RGB.tif (green).tif");
saveAs("Tiff", MainDir + File.separator + "Split channels" + File.separator + "RGB.tif (green).tif");
selectWindow("RGB.tif (red)");
saveAs("Tiff", MainDir + File.separator + "Split channels" + File.separator + "RGB.tif (red).tif");
close();
}
}
这只是为了测试代码是否标识了正确的图像和目录。它应该遍历每个文件夹中的RGB图像,将其分成3个通道,并将绿色和红色通道保存在找到图像的目录中的新文件夹中。 如果在代码的其余部分中还有其他明显的错误,我将很高兴听到它们:)谢谢!
答案 0 :(得分:0)
问题是,在代码末尾有一个大括号,只需将其删除,宏就应该运行平稳。