楼主: 乐天天12300
1398 3

[有偿编程] 怎样获取一个宏程序里的所有宏变量 [推广有奖]

  • 0关注
  • 3粉丝

已卖:352份资源

讲师

96%

还不是VIP/贵宾

-

威望
0
论坛币
4875 个
通用积分
360.1222
学术水平
60 点
热心指数
70 点
信用等级
42 点
经验
9962 点
帖子
243
精华
0
在线时间
1004 小时
注册时间
2016-11-28
最后登录
2025-5-3

楼主
乐天天12300 发表于 2022-4-12 17:26:36 |AI写论文
20论坛币
假设我有一个宏test,怎样在不改动test宏程序前提下,获取该test里的所有宏变量。

最佳答案

whymath 查看完整内容

在不改动宏本身的前提下,我想不出如何做到这一点。 局部宏变量在宏内部随时产生,但在宏运行完毕后全部被删除,要在宏的外部监测到这种变化......在单线程的SAS会话中似乎不可行,除非有程序可以即时监测当前会话的宏变量列表。
关键词:宏程序

沙发
whymath 发表于 2022-4-12 17:26:37
乐天天12300 发表于 2022-4-13 13:32
不是的,主要是局部宏变量,全局宏变量也可以用_global_获取
在不改动宏本身的前提下,我想不出如何做到这一点。
局部宏变量在宏内部随时产生,但在宏运行完毕后全部被删除,要在宏的外部监测到这种变化......在单线程的SAS会话中似乎不可行,除非有程序可以即时监测当前会话的宏变量列表。

藤椅
whymath 发表于 2022-4-13 13:05:28
你是指宏生成的全局宏变量么,这个思路应该可行:
1. 获取全局宏变量列表(通过sashelp.vmacro);
2. 运行%test;
3. 再次获取全局宏变量列表;
4. 计算步骤3和步骤1的差,此即为%test生成的全局宏变量列表;

板凳
乐天天12300 发表于 2022-4-13 13:32:58
whymath 发表于 2022-4-13 13:05
你是指宏生成的全局宏变量么,这个思路应该可行:
1. 获取全局宏变量列表(通过sashelp.vmacro);
2. 运 ...
不是的,主要是局部宏变量,全局宏变量也可以用_global_获取

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-27 07:30