SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 2159|回复: 11
打印 上一主题 下一主题

如何将ODS输出结果追加到一个已经存在的rtf文件中

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2004-11-3 02:52:36 | 只看该作者

如何将ODS输出结果追加到一个已经存在的rtf文件中

通常再次利用ODS程序进行结果输出时需先关闭前一次ODS输出窗口,且需指定一个新的rtf文件名。哪位高手能指点一下
(1)如何省去每次都要先关闭ODS输出窗口的麻烦;
(2)能否将ODS输出结果追加到一个已经存在的rtf文件中,这样就可省去将多个rtf文件内容合并到一个WORD文件中合并的麻烦。在此先行致谢。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2004-11-4 01:19:51 | 只看该作者

似乎只有ODS HTML有这个功能

似乎只有ODS HTML有这个功能
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2004-11-7 21:48:05 | 只看该作者

关于ODS的输出还有其他办法吗

多谢smartie。希望其他学友也能发表一些看法
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2004-11-7 22:35:50 | 只看该作者

好像目前还没见过可行的办法。

我也曾就此问题研究了很久,似乎目前还没有可行的办法。

建议走迂回路线,在程序的顺序和编排上下点功夫,让所有的程序在一次ODS设置中运行。

我目前就是采用这样的做法。希望对你能有所帮助。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
5#
 楼主| 发表于 2004-11-8 20:34:55 | 只看该作者

Re:

谢谢。看来,需要一些时日,相信会有好的解决方案
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
6#
 楼主| 发表于 2004-11-9 21:51:21 | 只看该作者

有一个别人写好的MACRO

<!-- m --><a class="postlink" href="http://www2.sas.com/proceedings/sugi28/143-28.pdf">http://www2.sas.com/proceedings/sugi28/143-28.pdf</a><!-- m -->
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
7#
 楼主| 发表于 2005-2-2 15:00:14 | 只看该作者

用dde吧,能解决你的问题

用dde吧,能解决你的问题
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
8#
 楼主| 发表于 2005-4-5 10:48:13 | 只看该作者

关闭输出结果窗口的命令

最好高手大侠们能给举个例子,我常遇到想把两个表格合成一个的情况,不知能否在程序中实现?
拜托拜托拜托!
版主帮帮忙啊!

另外
好像关闭输出结果窗口的命令是
ods noresults;
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
9#
 楼主| 发表于 2005-4-11 08:37:17 | 只看该作者

one example

[code:1a502]* make sample reports ;

ods rtf file='c&#58;\sample1&#46;rtf' ;

proc means data=sashelp&#46;class ; run ;

ods rtf close ;


ods rtf file='c&#58;\sample2&#46;rtf' ;

proc print data=sashelp&#46;class ; run ;

ods rtf close ;


* Make a sample graph ;

filename out 'c&#58;\test&#46;png' ;

goptions device=png gsfname=out ;

proc gchart data=sashelp&#46;class ;

  hbar age ;

run ;

filename out ;



* Microsoft Word must already be running ;

filename word dde 'MSWORD|system' ;



* send DDE commands to MS WORD to combine files and create a new one ;

data _null_ ;

  file word ;

  put '&#91;FileNew &#46;Template = &quot;normal&#46;dot&quot;, &#46;NewTemplate = 0&#93;' ;

  put '&#91;toggleportrait&#93;' ;

  put '&#91;ViewZoom &#46;TwoPages&#93;' ;

  put '&#91;ViewFooter&#93;' ;

  put '&#91;FormatFont &#46;Points=10, &#46;Font=&quot;Arial&quot;, &#46;Bold=1&#93;' ;

  put '&#91;FormatParagraph &#46;Alignment=1&#93;' ;

  put '&#91;Insert &quot;页脚&quot;&#93;' ;

  put '&#91;ViewFooter&#93;' ;

  put '&#91;ViewHeader&#93;' ;

  put '&#91;Insert &quot;页眉&quot;&#93;' ;

  put '&#91;ViewHeader&#93;' ;

  put '&#91;InsertPicture &#46;name=&quot;C&#58;\test&#46;png&quot;&#93;' ;

  put '&#91;WordLeft&#93;' ;

  put '&#91;SelectCurWord&#93;' ;

  put '&#91;FormatPicture &#46;scalex=150, &#46;scaley=150&#93;' ;

  put '&#91;WordRight&#93;' ;

  put '&#91;insertpagebreak&#93;' ;

  put '&#91;InsertFile &#46;name=&quot;C&#58;\sample1&#46;rtf&quot;&#93;' ;

  put '&#91;InsertFile &#46;name=&quot;C&#58;\sample2&#46;rtf&quot;&#93;' ;

  put '&#91;FileSaveAs &#46;name=&quot;c&#58;\test&#46;doc&quot;&#93;' ;

  put '&#91;FileClose&#93;' ;

run ;[/code:1a502]
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
10#
 楼主| 发表于 2005-7-10 22:01:21 | 只看该作者

Excellent solution

妙极! 可大大节省文档合并时间!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2025-6-9 17:52 , Processed in 0.085805 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表