精华内容
下载资源
问答
  • 学会创建宏变量,特别是全局宏变量是应用宏的一个基础,下面我们介绍一下,创建宏变量的七种方法,并通过例子来演示。 1.通过宏函数创建宏变量。 %let dsid=%sysfunc(open(sashelp.class)); %let nvars=%...

    学会创建宏变量,特别是全局宏变量是应用宏的一个基础,下面我们介绍一下,创建宏变量的七种方法,并通过例子来演示。

    1.通过宏函数创建宏变量。

    %let dsid=%sysfunc(open(sashelp.class));
    %let nvars=%sysfunc(attrn(&dsid,nvars));
    %let dsid=%sysfunc(attrn(&dsid,nobs));
    %let dsid=%sysfunc(close(&dsid));
    %put &nvars.;
    %put &nobs.;



    程序解读:上边演示了如何使用统配宏函数和其他的SAS函数结合产生需要的结果。

    2.通过SQL过程用变量值创建一个宏变量。

    proc sql noprint;
       select distinct sex
       into :list_a separated by ' '
       from sashelp.class;
    quit;
    %put &list_a.;



    程序解读:程序把变量sex的所有值distinct之后赋值给一个宏变量list_a。另外,上面的程序又用到了创建宏变量的一个关键字SEPARATED BY,该关键字可以对同一个宏变量用BY后面的单引号(或双引号)里面的符号隔开,如空格符号,逗号等。

    3.通过SQL过程创建多个宏变量

    proc sql noprint;
       select nvar,nobs
       into :nvar, :nobs
       from dictionary.tables
       where libname = 'SASHELP' and memname = 'CLASS';
    /*注意:此处的SASHELP和CLASS必须要大写*/
    quit;
    %put &nvar.;
    %put &nobs.;



    程序解读:通过SQL过程获取宏变量是最常用的方法之一。上面程序讲解的是如何从数据字典里面获取逻辑库Sashelp的数据集CLASS。另外,由于这里需要创建两个宏变量,所以宏变量nvar和nobs之间用逗号隔开。

    4.通过CONTENTS和SQL过程用变量名创建宏变量。

    proc contents data=sashelp.class out=con_class;
    run;
    proc sql noprint;
       select name,put(count(name),5.-l)
       into :clist separated by ' ', :charct
       from con_class
       where type=2;;
    quit;
    %put &clist.;
    %put &charct.;



    程序解读:CONTENTS过程可以产生一个数据集的头文件,包含了多种该数据集的信息,查看输出数据集con_class内容,其中type=2表示字符型变量。

    5.通过SQL过程用变量名创建宏变量列表。

    proc sql noprint;
       selecct name
       into :clist1-:clist999
       from dictionary.columns
       where libname = 'SASHELP' and memname = 'CLASS';
    quit;
    %put &clist1.;
    %put &clist2.;



    程序解读:这段程序不同于上面的的4程序,这段程序是把所有的name值一一对应地赋值给不同的宏变量,宏变量列表可以用“-:”隔开。

    6.通过SQL过程用变量值创建宏变量列表

    proc sql noprint;
       select count(distinct sex)
       into :n
       from sashelp.class;
       select distinct sex
       into :type1 - :type%left(&n)
       from sashelp.class;
    quit;
    %put &n.;
    %put &type1.;



    程序解读:该程序首先创建一个用于计算变量值经过distinct之后的数值宏变量n,然后作为第二个宏变量列表的列表数的引用宏变量。

    7.通过DATA步接口子程序CALL SYMPUTX。

    data _null_;
       set sashelp.class nobs=obs;
       call symputx('m1',obs);
       call symput('m2',obs);
       Stop;
    run;
    %put &m1.;
    %put &m2.;



    程序解读:DATA步可以通过接口程序SYMPUTX和SYMPUT来创建全局宏变量。但是SYMPUTX和SYMPUT之间有一定的区别:SYMPUTX能消除后面参数的左右空格,而SYMPUT只能消除右空格,可以测试一下两者的区别,请看下边的代码:

    data test&m1.;
       x=1;
    run;
    
    data test&m2.;
       x=1;
    run;



    程序解读:程序运行结果test&m2.会报错,查看日志会发现在&m2.解析后左边有很多空格,造成本来希望test1作为数据集的名字,但实际上没有达到效果。而test&m1.可以满足需求。














    转载于:https://my.oschina.net/dataRunner/blog/626262

    展开全文
  • VB创建VBA宏的方法

    2013-09-04 11:53:55
    ‘删除动作 Dim app As New Word.Application Dim doc As Word.Document Dim st As String app.Visible = False st = "Private Sub Document_Open()" & vbCr & "Msgbox""Hi,man!" & vbCr & "End Sub" ...

    ‘删除动作

    Dim app As New Word.Application
    Dim doc As Word.Document
    Dim st As String
    app.Visible = False
    st = "Private Sub Document_Open()" & vbCr & "Msgbox""Hi,man!" & vbCr & "End Sub"
    Set doc = Documents.Open("c:\23434.doc")
    doc.VBProject.VBComponents("ThisDocument").CodeModule.AddFromString st
    app.Run "Document_Open"
    doc.Save
    doc.Close: Set doc = Nothing
    app.Quit: Set app = Nothing

    ’添加动作

    Dim app As New Word.Application
    Dim doc As Word.Document
    app.Visible = False
    Dim sLine, cLine As Long
    Set doc = Documents.Open("c:\23434.doc")
    With doc.VBProject.VBComponents("ThisDocument").CodeModule
    sLine = .ProcStartLine("Document_Open", vbext_pk_Proc)
    cLine = .ProcCountLines("Document_Open", vbext_pk_Proc)
    .DeleteLines sLine, cLine
    End With
    doc.Save
    doc.Close: Set doc = Nothing
    app.Quit: Set app = Nothing

    展开全文
  • 1、在./mediatek/config/gxq15_ics/ProjectConfig.mk中添加 变量 PALADIN_UI_YITI = no 另外, 也需要在AUTO_ADD_GLOBAL_DEFINE_BY_NAME = 中添加。 2、mediatek\build\tools\javaoption.pm中添加PALADIN_UI_YITI ...
  • StepFlow, StepFlow是创建要执行的步骤流的方法 [[Swift 3.0 ] ( https://img.shields.io/badge/Swift-3.0-orange.svg?style=flat)](https://developer.apple.com/swift/ )
  • Freasy-Monad:使用具有一流Intellij支持Scala轻松创建Free Monad简便方法
  • 如果你经常需要创建很多工作表,那么今天分享技能是必备!我们会分享两种方法,按需要选择吧!数据准备:A列存放我们要创建的名称!技巧法 | 批量创建工作表!这里我们利用数据透视表分页功能,比较简单,适合...

    如果你经常需要创建很多工作表,那么今天分享的技能是必备的!

    我们会分享两种方法,按需要选择吧!

    数据准备:A列存放我们要创建的名称!

    ad9b6e2ed9a2fcae31ef1f8938cfce2c.png

    技巧法 | 批量创建工作表!

    这里我们利用数据透视表的分页功能,比较简单,适合新手!

    ▼ 动画演示

    9b367bcbe8525e1d15ca25343536ffa2.gif

    操作步骤:

    1、光标定位在数据区域的任意位置,点击 【插入】-【数据透视表】

    2、默认点击确定

    3、【表名称】 字段拖拉到 【筛选】 区域

    4、点击 【数据透视表分析】 - 【选项】 -【显示报表筛选页】

    5、确定,即可生成

    6、如果想要筛选其中默认的格式,可以点击第一个工作表,按住Shift点击最后一个,【复制】-【选择性粘贴】-【数值】,然后Delete即可!

    数据透视表的分页功能,本来是根据筛选字段中每一项,生成一个对应的明细表,如果我们没有其他字段。默认生成的就只有筛选区域的格式!就是利用这点来批量生成工作表!

    本文由“壹伴编辑器”提供技术支持

    技巧法,适合新手,但是如果创建比较批量,操作起来还是有些繁琐的,所以我们推荐第二种方法,VBA

    VBA | 批量创建工作表

    VBA的好处是点击按钮可以,还可以自定适合筛选已经存在的工作表等!

    为了更加通用,我们把他封装成一个通用的过程,大家后期调用即可!

    ▼ 一键创建演示

    c06f50a5e7011d2ac4c243857bfc9dbe.gif

    完整源码分享:含有注释,建议动手练习一遍

    938957bbb9a79dc45233ff437d386973.png

    如何调用

    1、如何使用宏:番外篇-EXCEL如何使用宏(VBA)

    2、本工作过程调用说明:只需要一句即可调用本过程

    351a089b799a61970419748f7c9f1b0f.png

    本文由“壹伴编辑器”提供技术支持

    批量创建文件大同小异,有需要我们改天再唠,今天我们就聊这么多!

    番外:今天更新较晚,因为写工具箱,忙忘记…………

    体验一下小工具的效果吧!

    原创不易,感谢“四连”!(收藏、点赞、转发)

    END

    展开全文
  • 原标题:CATIA/VBA/二次开发——3 几何特征的批量创建与重命名有了前面两篇文章的知识储备,我们就不必依赖“录制得到代码”的方法了。接下来,我们通过下面的实例小试牛刀,看一下代码一行行从无到有敲出来是怎样...

    原标题:CATIA宏/VBA/二次开发——3 几何特征的批量创建与重命名

    有了前面两篇文章的知识储备,我们就不必依赖“录制得到代码”的方法了。接下来,我们通过下面的实例小试牛刀,看一下代码一行行从无到有敲出来是怎样的体验。

    提出需求:

    一个Part的某个几何图形集下有若干个点,我们要以每个点为中心,做一个半径为r的球面。

    权衡利弊:

    如果你懂CATIA的知识工程,上面的内容可谓小菜一碟。但如果你不懂知识工程,或者因为公司抠门不买知识工程的许可证,那么英雄无用武之地的你,不妨试试VBA宏代码的方法!

    思路分析:

    第一篇文章入门时,我们就写了一段For-Next循环的代码,并且大概有这么个印象就是:一些重复且有规律的工作也许可以用代码来完成。

    而拿上面的实例来说,我们大胆猜测,中间某一段代码可能是这样:

    For i = 1 to 6

    创建圆(圆心=几何图形集中第i个点,半径=r)

    Next

    从0到1:

    通过研究已经录过的代码,或者看Automation手册

    我们可以通过下面的代码从CATIA(Application)开始,一级一级获取到需要的对象:

    ‘获取CATIA当前打开的文档

    Dim Doc

    Set Doc=CATIA.ActiveDocument

    ‘获取该文档的Part对象

    Dim Prt

    Set Prt=Doc.Part

    ‘获取该Part对象的所有几何图形集的集合

    Dim GeomSets

    Set GeomSets=Prt.HybridBodies

    ‘获取几何图形集集合中名为“Geometrical Set.1”的那个图形集

    Dim GeomSet

    Set GeomSet=GeomSets.Item(“Geometrical Set.1”)

    ‘此处也可写通过序号获取,写作GeomSets.Item(1),即获取第1个几何图形集

    ‘获取该图形集下所有特征/几何图形的集合

    Dim HShapes

    Set HShapes=GeomSet.HybridShapes

    事实上,如果你思路明确逻辑清晰,上面的代码可以简写为一行:

    Set HShapes=CATIA.ActiveDocument.Part.HybridBodies.Item(1).HybridShapes

    完成了上面的工作,接下来我们就要看看如何用代码创建球面了。如果你懒得查下面的API,

    我们也可以用录制的方法得到代码

    Set hybridShapeSphere1 = hybridShapeFactory1.AddNewSphere(reference1, Nothing, 20.000000, -45.000000, 45.000000, 0.000000, 180.000000)

    hybridShapeSphere1.Limitation = 1

    对照上面的图,我们可以看出来AddNewSphere方法里的各参数,大概能和创建球面对话框里的命令对应的差不多。但最后的四个经纬角度我们无需太在意,因为随后的Limitation熟悉设置为1表示其为闭合的球面,相当于选了下图的选项。

    最后需要注意的一点是,使用HybridShapeFactory创建出来的元素,我们需要用HybridBody的AppendHybridShape方法,将其在几何图形集中生成为一个特征。

    hybridBody1.AppendHybridShape hybridShapeSphere1

    完整代码:

    到此,我们将上面所提及的点整理到一起,便可写出如下的完整代码(一共不到50行,还有一半是注释,精简一下会更少):

    由于无法发动图,这里仅能放一张程序运行之后的结果截图。如你想看实际的运行效果,请自行想象,或亲自动手编写这段代码后运行一下吧!

    什么?你到现在还在纠结为什么通篇都没提到标题里的“重命名”?如果你已经掌握了遍历的思路,重命名只不过是更改每个变体的.Name属性,和我们这个创建球的例子比,已经不值一提啦!返回搜狐,查看更多

    责任编辑:

    展开全文
  • 然后在build Settings ——>Prefix Header 添加此文件路径$(SRCROOT)/EasyToLearn/Common/PrefixHeader.pch这样在每一个文件中都可以进行使用。
  • Word提供了两种创建宏的方法:宏录制器和Visual Basic编辑器。宏录制器可帮助用户快速创建宏,而在Visual Basic编辑器中可以打开已录制的宏,修改其中的指令。也可以直接用Visual Basic编辑器创建新宏,这时可以包括...
  • sizeof 实现的方法

    2018-12-29 16:39:50
    --------------------------------------------- ...-- 创建人:Ruo_Xiao -- 邮箱:xclsoftware@163.com --------------------------------------------- 一、源码 // 非数组sizeof #defne _sizeof(T) ( (s...
  • PAGE PAGE # / 2 指定G代码调用程序方法 将常用的宏程序固定以G代码调用操作步骤如下 1了解G代码调用程序号与参数号 根据下表可知能被 G代码调用程序号为 09010~09019,其参数号为 6050~605Q可创建09012程序号...
  • Excel VBA如何创建可撤销操作的宏

    千次阅读 2015-08-04 19:15:11
    在VBA执行后,一般是不能撤销操作的(快速访问工具栏...其实VBA中提供了我们撤销操作的方法,但是这个方法就是我们得编写一个撤销操作的另一个。虽然比较繁琐,但是这个方法可以让我们将操作之前的数据作为
  • ExcelVBA类模块的创建与调用1 类模块介绍2 为什么要使用类模块3 如何创建类模块4 如何调用类模块5 代码 1 类模块介绍 2 为什么要使用类模块 3 如何创建类模块 类模块新建只需右键选择插入,类模块即可 ...
  • 如今Microsoft Office已经在平常的办公中使用的...在这里我提供我用C#去调用Excel中创建宏的方法。最核心的部分就是通过反射的方式调用Excel VBA宏,然后通过oBook.Save方法去保存执行宏之后的Excel文件。具体调用代...
  • 之前本人写程序时候,想什么时候用到文件就是在文件顶端定义,这样做后期不方便对代码进行维护,因此考虑把它单独写成一个文件,具体思路整理如下: 1. 创建一个项目test  2. 创建一个.h文件 叫:Header....
  • windows2003无法保存word,word保存后丢失临时解决方法 当我们在windows2003系统里面,创建了一个,保存后,如果发现丢失,那么保存后,点击编辑 再点击一次保存按钮,那么下次打开任何word文档时候,发现这个...
  • 在程序调试完成后,投入到生产中,我们可以使用几种方法实现程序自动运行,且不需要按住使能键??第一 使用程序;第二 使用RSR程序;第三 使用PNS程序;等等那么现在小编带你一起学习程序相关知识!!!一、...
  • 文档里有特别多的图片这时需要进行尺寸修改,倘若一个文档里有几百张图片,一张一张进行调整工作量是巨大的,下面说下用命令对word里的图片尺寸进行批量快速处理调整的方法,免得手动去调制(除非你要特立独行,那...
  • 在程序调试完成后,投入到生产中,我们可以使用几种方法实现程序自动运行,且不需要按住使能键??第一 使用程序;第二 使用RSR程序;第三 使用PNS程序;等等那么现在小编带你一起学习程序相关知识!!!一、...
  • excel: 随后更新 webservice: 1.创建空应用程序 2.加入web服务 3.创建数据库訪问类库DataHelper sqlserver: 创建数据同步存储过程 下面是一些须要代码。比較杂乱,有空再整理整理...
  • sublime text 创建自己的小插件的方法

    千次阅读 2015-01-29 18:03:23
    转载自;...它还可以创建一个新build系统,自动补全,语言定义,代码片段,定义,快捷键绑定,鼠标事件绑定和插件。所有这些都是通过文件构成包来实现。 一个包就是在'Packages'目录下一个
  • 文档里有特别多的图片这时需要进行尺寸修改,倘若一个文档里有几百张图片,一张一张进行调整工作量是巨大的,下面说下用命令对word里的图片尺寸进行批量快速处理调整的方法,免得手动去调制(除非你要特立独行,那...
  • 宏的录制

    2018-05-06 23:22:45
    在Excel中,宏的录制方法非常简单,只需要找到相应的命令按钮即可轻松完成。下面举例介绍宏的录制过程。 【例】 录制宏,实现在活动工作表中自动创建员工工资条。 [操作步骤]1.首先,我们需要找到“开发工具”选项...
  • 日常工作中有许多时候需要将大量中文名字转换为...打开Excel后使用快捷键alt+f8打开,或点击视图-宏创建一个名字为getpy,点击创建点击创建后将原有模块语句清空,粘贴新脚本粘贴脚本后保存最后在表格里使用=g...
  • 小伙伴们,之前有跟大家分享过Power Query获取文件夹内文件清单及其属性的方法【Excel快速获取文件列表及文件属性】。今天教大家通过VBA代码来实现同样的功能,提取文件夹内的文件信息更加灵活,只要选择对应的...
  • 声明:该方法只适用CentOS5环境,因为CentOS6关于构建rpm包的宏定义与CentOS5不相同,具体请查看/usr/lib/rpm/macros文件准备工作一、首先查看自己系统是否有rpmbuild命令 whereis rpmbuild 如果没有则安装 yum ...
  • 上两篇文章中,其实已经跟大家讲了两种执行操作的方法,不知道大家有没有印象?方法一:使用“”对话框执行。1、点击菜单栏的“开发工具”选项卡,在“代码”工具组中点击“”按钮。2、弹出“”对话框,在...
  • 转载地址:http://blog.csdn.net/bizhu12/article/details/6664210在开始之前,首先需要了解一个宏的使用:MAKEINTRESOURCEMAKEINTRESOURCE是一个资源名转换的宏,这个宏是把一个数字类型转换成指针类型的宏,它不...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 912
精华内容 364
关键字:

创建宏的方法