我尝试构建一个小系统,它将验证附件是否存在(来自4个来源)并且如果存在 - 通过电子邮件发送此附件。如果存在 - 然后发送它。我找到了有趣的代码,但我有……
你在这里遗漏了一些东西:
%IF %SYSFUNC(FILEEXIST(&ATTACH4)) %THEN &ZALACZNIKI = &ZALACZNIKI || &ATTACH4 || ' ';
您需要使用%LET重新分配宏变量,如果这是您的意图,并且不需要连接运算符,但您可能需要围绕文件名使用双引号:
%IF %SYSFUNC(FILEEXIST(&ATTACH4)) %THEN %LET ZALACZNIKI = &ZALACZNIKI. "&ATTACH4.";
当你来使用宏变量时,你可能不需要引号,否则你会得到:
“”file1“”file2“”file3“”
所以这样做:
ATTACH = (&ZALACZNIKI.);
尝试使用此代码了解其工作原理:
%let file1 = C:\temp; %let file2 = C:\temp2; %let z = ; %let z = &z. "&file1."; %let z = &z. "&file2."; %put &z;