164、Excel宏表函数二---GET.DOCUMENT函数 GET.DOCUMENT函数用于返回关于工作簿的信息。语法结构为:GET.DOCUMENT(type_num,name_text)type_num:指明信息类型的数字。此数字范围为1-88,常用值与返回的结果如下表所示:type_num返回值2返回工作簿路径。如果新建工作簿尚未保存,会返回错误值#N/A50当前设置下要打印的总页数64以内存数组形式,生成水平换行符之下相邻的行号65以内存数组形式,生成垂直换行符右侧相邻的列号76以"[工作簿名]工作表名"的形式返回活动工作表的名称88返回活动工作簿名称name_text:文件名,如果省略,则默认为当前工作簿。一、在宏表中获取当前工作表信息:在工作簿中插入一个宏表,然后取消“显示公式” 。如下图:各参数下返回值如下图所示:二、宏表函数重新计算:1、分列法:选中公式所在区域,单击【数据】选项卡下的【分列】按钮,弹出的【文本分列向导】对话框中单击【完成】,如下图所示:2、查找替换法:按ctrl+F或ctrl+H组合键,调出【查找和替换】对话框,切换到【替换】选项卡。在【查找内容】和【替换为】编辑框内都输入“=”,单击【全部替换】按钮,就可以实现当前宏表中所有公式的重新计算。如下图所示:3、双击重算:在要重算的公式单元格双击鼠标左键,对应的公式自动重算。三、使用定义名称获取当前工作表信息:如下图所示,定义相应的名称:输入相应的名称作为公式即可返回结果,如下图所示:细心的朋友发现了上边的名称中,引用位置输入的公式都包含了“&T(now())”这一部分,那这一部分是做什么用的呢?这是添加易失性函数,使得宏表函数触发自动重算。在定义名称时加入易失性函数触发重算的方法主要有两种:1、计算结果为文本时,在公式后边增加“&T(now())”.now函数用于获取当前的时间,用T函数转换为空文本。原公式的结果连接空文本,不影响其返回的结果。2、计算结果为数值时,公式后边增加"+now()*0"。用now函数获取当前时间乘以0,结果为0,原公式加0,不影响最终的返回结果。原理:在单元格中执行编辑、输入或是按F9键等操作时,都会触发now函数重新计算,与之连接的宏表函数也会随之重算,得到新的结果。四、显示打印页码:注意,打印页码显示在工作表中,不是在宏表中执行。如下图所示:定义"当前页"和"总页数"两个名称。在E1和E27单元格输入公示“="第"&@当前页&"页 总共"&@总页数&"页"”。如下图所示:点击右下角的【视图切换】区域的【按页预览】进入分页预览视图,使用鼠标拖动粗蓝线,手动调整每页的行数,调整设置后,按F9键重算,单元格将显示调整后的页码。如下图所示: