我正在尝试将表打印到电子邮件目的地,然后在最后添加一些自定义注释。当我尝试运行以下代码时,我收到消息:
ERROR: File is in use, .
我的代码是:
filename mymail email content_type="text/html"
to=("myemail@myemail.com")
from=("myemail@myemail.com")
subject="My Report";
ods html3 body=mymail style=sasweb;
proc print data=sashelp.class noobs;
run;
data _null_;
file mymail ;
put "I want this to appear at the bottom of the email.";
run;
ods html3 close;
filename mymail clear;
我已经尝试使用谷歌搜索帮助,但搜索条件是如此模糊,很难将其缩小到这个特定的问题。谢谢你的帮助。
编辑:只是为了澄清 - 我希望电子邮件正文中包含所有结果。我不希望将结果作为附件发送。此外,如果您只注释上述代码中的数据步骤,则电子邮件可以正常工作。
答案 0 :(得分:1)
我无法在实际的电子邮件中测试这两种方法,但他们确实避免了(可复制的)Error: File is in use
消息..
filename mymail "C:/temp/test.html";
ods html3 body=mymail style=sasweb;
proc print data=sashelp.class noobs;
footnote "Approach 1: I want this to appear at the bottom of the email.";
run;
data _null_;
file print ;
put "Approach 2: I also want this to appear at the bottom of the email.";
run;
ods html3 close;
filename mymail clear;
更改是在数据步骤中使用file print
引用。根据{{3}}:
PRINT是一个保留的fileref,它将任何PUT语句生成的输出定向到与SAS过程生成的输出相同的文件。
答案 1 :(得分:0)
我不清楚你是否真的需要数据步骤来进行任何数据处理,而不仅仅是打印文本。我最近遇到了类似的挑战,但我的重点是简单地打印文本,因此您可以使用ODS文本功能:
ODS HTML3 text ="方法3:使用ODS TEXT功能将文本放在任何地方。&#34 ;;
根据你的html目的地,你可以使用css或html标签来控制字体,大小,对齐方式等。我猜你会使用html3来兼容Outlook,所以css标签赢了'工作。