1

我正在尝试生成一个变量文件名。

ods pdf 文件 = "D:\FileDirectory\&&mFileNameVariable&I .pdf" notoc;

这会生成一个可变文件名,但会在扩展名之前添加一个空格(例如 FileName .pdf;我需要 FileName.pdf)。

我读到你可以做这样的事情:

ods pdf 文件 = "D:\FileDirectory\&&mFileNameVariable&I..pdf" notoc;

为扩展添加点;但是,当我尝试该宏不起作用时,我会得到一个所见即所得的值(例如 &&mFileNameVariable&I.pdf)。

我假设它是因为我的字符串以“&I”结尾。

我想到的另一个解决方案,但它不必要/解决方法是分别修剪(FilePathAndName)和/或连接猫(FilePathAndName FileExtension)值。

非常感谢任何见解或反馈,提前感谢您的时间和帮助。

干杯!

4

1 回答 1

7

由于您正在执行两次宏解析过程,因此您需要在文件名和扩展名之间有一个额外的句点(总共三个,在宏解析期间需要咀嚼 2 个,一个代表分隔符)。

例如

%let mFileNameVariable1=myfile;
%let l=1;
ods pdf file="C:\Temp\&&mFileNameVariable&l...pdf" notoc;  /*note 3 periods!!*/

登录

NOTE: Writing ODS PDF output to DISK destination "C:\Temp\myfile.pdf", printer "PDF".
于 2012-04-11T19:16:19.627 回答