基于Word+VBA的SCIE文献引证报告批处理方法

2021-05-28 12:38屠海锋邢美园
现代计算机 2021年10期
关键词:列表代码文档

屠海锋,邢美园

(浙江大学医学院附属第一医院图书馆,杭州310003)

0 引言

科研工作是在前人的研究基础上继承和发展的,科技论文著录参考文献能够反映论文的学术起点、深度和广度,是科技论文不可缺少的组成部分[1]。参考文献是影响论文水平的重要因素,被引频次也是论文评价最常用的指标之一[2]。

文献查引是国内图书馆或信息服务机构提供的一项有偿信息服务[3],一般分为两种需求,一是列出被引频次和他引频次;二是在一的基础上列出具体的施引文献。通常采用手工逐篇检索处理,特别是第二种情况,需处理施引文献,增加了工作人员的劳动强度,而且这种简单重复的机械劳动并不会产生工作的愉悦感。

目前已有不少国内高校图书馆或科研机构开发了查引系统,如北京大学图书馆的CALIS查收查引系统,中国科学院软件研究所的引证报告服务系统,清华大学图书馆的代检代查服务系统,中国医科大学图书馆的查收查引微信小程序[4-7]。但对于中小图书馆在没有查引系统的情况下,如何实现引证报告的批处理?本文结合SCIE文献实例给出一个基于Word和Visual Basic for Applications(VBA)出具引证报告的批处理方法。

1 数据准备

1.1 检索被引文献

打开Web of Science网站,选择“Web of Science核心合集”,更多设置中选择SCI-Expanded。根据标题或其它信息检索文献,并添加到“标记结果列表”。

1.2 导出被引文献

在标记结果列表的“来自于Web of Science核心合集”Tab页中,默认选择所有记录,再选择作者、标题、来源出版物三个字段。点击“导出…->打印”,将记录复制到Word文档,并将字体设为绿色,使之与施引文献区别。

1.3 导出施引文献

在新标签页中打开“标记结果列表”,然后点击“清除”,关闭此页面。在原来打开的“标记结果列表”页面,依次导出每篇被引文献的施引文献:在每篇文献的右侧,右键点击被引频次的数字,在新标签页中打开。然后在左侧导航的“Web of Science索引”中选择“Science Citation Index Expanded”并点击“精炼”。将记录添加到“标记结果列表”并按前述办法导出,为了验证作者,需要多导出“地址”字段。将施引文献复制到对应的被引文献下面,样式如图1所示。

图1 未处理前的报告样式

2 数据处理

2.1 录入代码

按Alt+F11打开VBA编辑器,在左侧“工程”窗口选择待处理Word文档的Project,点击菜单“插入->模板”,然后在右侧编辑框中输入代码,按F5执行。

2.2 删除横线

文档中的横线,在两个Table之间,一个Table包含一篇文献,只要遍历文档中的所有Table,删除每个Table的下一行即可。代码如下:

2.3 为施引文献添加序号

为每一篇被引文献的施引文献添加序号,依次遍历一个Table中的每一行,若遇到“标题”开头的行,则添加带右小括号的序号,并结束该Table的遍历。主要代码如下:

2.4 标识自引文献

这里设定当被引文献的第一作者(以下称一作)与施引文献的一作同名时,该施引文献为自引,并在其序号前标识*号。

首先,提取被引文献的一作,遍历一个Table中的每一行,若遇到“作者”开头的行,提取该行内容,利用Split()函数,分别进行三次拆分,最终得到一作的简称和全称。主要代码如下:

其次,提取该被引文献的施引文献的一作,判断被引文献的一作是否与施引文献的一作一致,如是,则在该施引文献前添加*号,并且将该施行文献的作者行字体改为红色,改为红色的目的是方便后续人工核验一作。主要代码如下:

2.5 插入被引文献的被引次数

在每篇被引文献的下面,插入该文献总被引次数及他引次数。字体为绿色的Table,判断为被引文献,如当前Table序数大于1,则表示被引文献数大于1且前一篇的施引文献已经遍历完成,则在前一篇被引文献下面插入引用次数描述。对除最后一篇被引文献(包含只有一篇被引文献的情况)外,其它被引文献的引用情况描述语句插入语句代码如下,其中m为单篇被引文献的施引文献数,n为单篇被引文献的自引文献数:

最后一篇被引文献的引用情况描述语句插入,只要再单独执行一次上述代码中里层IF语句中的定位和赋值语句就行。

2.6 统计总被引次数

在文献开头,插入描述整份报告总的被引次数和他引次数,其中p为所有被引文献的施引文献数,q为所有被引文献的自引文献数。主要代码如下:

2.7 人工核验一作

自引标识结果示例如图2所示:

图2 标识为自引的施引文献

通过核对一作地址,排除同名作者的情况,如果属同名非自引情况,则删除*号,并修改上述描述中的他引次数和总他引次数。通常这种同名的情况非常少,但可以确保报告的准确性。

2.8 删除地址

最后删除多余的地址内容。遍历所有Table的第一行,删除“地址”开头的行,最后将的所有字体改为黑色。主要代码如下:

3 结果

引证报告包括总述、被引文献、文献被引情况、施引文献等,其中施引文献以1)形式编号,自引文献标注*号,样式如图3所示。

图3 引证报告样式

4 结语

VBA是微软公司在应用程序开发语言Visual Ba-sic基础上开发的一种通用性语言[8]。它本身就是针对Office开发的,所以在处理Word的样式变换中具有独特的优势,能够灵活有效的处理复杂工作,大幅减少工作量,提高工作效率。同时,Office是最常用的办公软件之一,VBA又是Office自带的工具,从软件的易得性、易用性来说,都非常适合处理此类引证报告的文档。本文介绍的方法,在实际应用中,可将工作量缩减到原来的10%左右,其他同事只要执行一下脚本就可以得到结果,不仅便捷且具有较高的应用价值。

该方法适用于正常需求时出具SCIE文献引证报告,对于一些特殊情况还需要进行个别处理,不断完善脚本,使其具有更完备的处理能力。

猜你喜欢
列表代码文档
浅谈Matlab与Word文档的应用接口
有人一声不吭向你扔了个文档
轻松编辑PDF文档
扩列吧
Word文档 高效分合有高招
列表法解分式方程问题探索
神秘的代码
一周机构净增(减)仓股前20名
重要股东二级市场增、减持明细
近期连续上涨7天以上的股