利用VBA一键提取Word论文上网元数据

2018-12-25 05:55刘永强马昕红
学报编辑论丛 2018年0期
关键词:参考文献

刘永强,马昕红,樊 坤



利用VBA一键提取Word论文上网元数据

刘永强,马昕红,樊 坤

(西安热工研究院有限公司热力发电编辑部,西安 710054)

为了减少期刊编辑部在每期论文网络出版时上传元数据的工作量,根据Word论文的标题、作者、单位、摘要、关键词、中图分类号、文献标识码、参考文献、备注等元数据的位置、样式、标注等信息确定提取规则,提出了一种基于VBA的上网元数据一键提取方法。采用该提取方法后,《热力发电》期刊每期提取元数据时间由4 h缩短至1 h,达到了预期效果。该方法对编辑同行具有一定的借鉴作用。

元数据;信息提取;VBA;样式;论文上网

互联网时代,学术期刊面临前所未有的机遇和挑战,其出版方式和运营模式都迎来一场巨大的变革[1]。目前,几乎所有的期刊均以实现了网络出版,且已有部分期刊开始尝试开放存取。如何快速、高质量地提取拟发表论文的元数据是实现期刊网络出版的关键。随着计算机的广泛应用以及互联网的飞速发展,众多提取方法被应用到文档信息提取中[2-8]。

考虑到目前大多数作者采用Word撰写论文,且不少编辑部采用Word排版,急需一种依托Word文档的信息提取方法。吴春龙[9]基于C#语言进行软件设计,实现了从损坏的Word 97、Word 2003文档中提取文本。汤克明等[10]在Delphi 7.0平台下开发了一个实用的Word文档分析工具,给出了Word文档常规属性的提取方法。文献[11-13]分别提出了1种Word表格与数据库数据双向转换的方法,既实现了从Word表格中采集提取数据存储到数据库中,又实现了从数据库中读取数据导出到Word表格中,该方法转换效率高,实用可行,但仅限于从Word表格的提取信息。郑河荣等[14]在对Word文档对象的分析基础上,介绍了Word文档信息的智能提取技术,但仅限于表格中的某些特定字段。

在争夺网络首发权的战争中,采用机械的复制粘贴方法提取元数据已不能满足要求。本文基于前人方法和经验,以《热力发电》期刊为例,设计出一种针对Word论文上网元数据的一键提取方法,对编辑同行具有一定的借鉴作用。

1 VBA

VBA是Microsoft设计的最简单的开发工具,能够很方便地与其他软件兼容,具有直观、高速开发等特点[15]。VBA位于Word开发工具中。开发工具提供了大量的指令及其他加载项功能。单击“文件”—“选项”—“自定义功能区”—在“主选项卡”列表中,选择“开发工具”复选框,单击“确定”,即可激活该选项卡,如图1所示。

图1 开发工具选项卡

2 元数据和提取规则

2.1 元数据

根据Dublin元数据标准[16],考虑科技论文的特殊性[17],其元数据可归纳为标题(副标题)、主要责任人(作者姓名、学历、机构、联系方法)、主题(关键词、主题词、论文分类号)、描述(摘要、目次、基金资助)、其他责任人(姓名、机构、责任方式)、日期(收稿日期、修改日期、发布日期)、资源类型、格式(期刊名称、期数、页面、页面尺寸)、标识符(文章编号、DOI)、语种、相关资源(参考文献)、版权、论文类型13个元数据和属性[6]。

结合《热力发电》期刊实际情况,本文所讨论的论文上网元数据是指论文的标题、作者、单位、摘要、关键词、中图分类号、文献标识码、参考文献、备注等信息。

2.2 提取规则制定

由于论文的格式一般都是固定的,通常论文的元数据一般都会集中在论文的前几页,并且各个元数据都会按照一定的顺序出现,比如论文的第一页通常会有论文的标题、作者、摘要和关键词等信息;而论文的每一项元数据都有其特定的字体、字号、行距等样式,并且同一项元数据中的所有文字都会采用同种样式;同时某些特定的元数据都会有关键词进行标注,如在摘要的正文前会加上关键词“[摘要]”等:结合这些特点可以提高对论文有效信息提取的效率和准确率[4]。《热力发电》期刊论文样式库和模板[18]首页分别如图2和图3所示。

图3 论文模板

结合图2、图3,根据元数据位置、样式、标注等信息确定提取规则。

(1) 借助样式读取整段。

中文标题、英文标题、中文姓名、英文姓名等均独占一段,可分别借助预设的“标题中文” “标题英文” “作者中文” “作者英文”样式识别并提取。

(2) 借助标注提取整段。

中文摘要、中文关键词等均独占一段,且分别以“[摘要]” “[关键词]”作为标注。查找这些标注定位到元数据所在段落,并替换掉这些标注即可。

(3) 提取段落的一部分。

中图分类号、文献标识码与文章编号共居一段,分别以“[中图分类号]” “[文献标识码]” “[文章编号]”作为标注,且已知文献标识码和文章编号位数确定。此时可采用从右向左读取字符数的方法提取论文的中图分类号和文献标识码。

(4) 读取多段。

全文一般有多条参考文献,可采用预设的“参考文献”样式识别,再借助循环逐条增加的方式提取。每条参考文献之间采用换行符chr(13)或回车符chr(10)分隔。

If InStr(ActiveDocument.Paragraphs(i).Range.Style.NameLocal, "参考文献") > 0 Then接收表.Cells(行, 11) = 接收表.Cells(行, 11) + Chr(10) + ActiveDocument.Paragraphs(i).Range.Text

(5) 读取多段并截去首尾。

作者单位可能不止一个,单位首尾用括号括起来。可采用预设的“单位中文” “单位英文”样式识别,借助循环逐条增加的方式提取,再截去首尾的括号。

3 元数据一键提取

3.1 设置提取快捷键或按钮

借助宏功能设置提取快捷键或按钮。具体创建方法为:①单击“开发工具”选项卡—“代码”—“录制宏”,弹出“录制宏”对话框,修改宏名为“一键提取”;②将宏指定到键盘(也可指定到按钮),弹出“自定义键盘”对话框,鼠标移至“请按新快捷键”,同时摁下Ctrl+Shift+T,单击“指定”,接着单击“关闭”;③单击“代码”—“停止录制”,到此一键提取操作赋予快捷键Ctrl+Shift+T。

3.2 一键提取主程序

主程序编辑方法为:①单击“开发工具”选项卡—“代码”—“宏”,弹出“宏”对话框;②选择“一键提取”,单击“编辑”,打开VBA窗口;③在“一键提取”程序节内输入以下程序:

Sub 单个提取()Dim oApp As ObjectDim oappwork, 接收表Dim MyString1, MyString2, MyString3, MyString4, MyString5Dim m, n As LongSet oApp = CreateObject("Excel.Application")Set oappwork = oApp.Workbooks.AddSet 接收表 = oappwork.Sheets(1)行 = 1接收表.Cells(1, 1) = "中文标题"接收表.Cells(1, 2) = "Title"接收表.Cells(1, 3) = "作者"接收表.Cells(1, 4) = "中文单位"接收表.Cells(1, 5) = "Author(s)"接收表.Cells(1, 6) = "英文单位"接收表.Cells(1, 7) = "关键词"接收表.Cells(1, 8) = "分类号"接收表.Cells(1, 9) = "文献标识码"接收表.Cells(1, 10) = "摘要"接收表.Cells(1, 11) = "参考文献"接收表.Cells(1, 12) = "备注/Memo"For i = 1 To ActiveDocument.Paragraphs.Count ’此处填入2.2节中所列提取程序Next ioApp.Visible = TrueEnd Sub

3.3 提取结果及整理

采用上述一键提取方法能以Excel工作簿的形式输出单篇论文上网元数据。以每期20余篇论文计,可生成20余个工作簿,将其汇总至1个工作簿内,即可得到当期网络出版所需的元数据。同理,可根据不同编辑部的需求,提取论文中的英文摘要、英文关键词、DOI编号等数据。

4 结束语

本文设计了一种Word论文上网元数据一键提取方法。该方法在《热力发电》期刊网络出版中起到了明显作用,显著减轻了编务工作量。采用传统复制粘贴方法提取一期论文上网元数据约需4 h,采用一键提取方法后仅需约1 h。后期可在提取程序精简和提取方法智能化方面做深入研究。

[1] 廖坤,崔玉洁.网络时代学术期刊数字出版模式探析[J].编辑学报,2017,29(2):116-118.

[2] 刘华中.面向PDF文档的论文元数据提取方法研究[D].燕山大学,2012:2;4-6.

[3] 牛永洁,薛苏琴.基于PDFBox抽取学术论文信息的实现[J].计算机技术与发展,2014(12):61-63.

[4] 任林涛.PDF格式中文科技论文的有效信息提取方法及分类研究[D].长春:吉林大学,2011:9-18.

[5] 赵子浩.基于集成学习的OA期刊论文元数据提取方法研究[D].秦皇岛:燕山大学,2012:1-3.

[6] 钱建立,吴广茂,蒋路.基于特征相似度的科技论文元数据提取算法研究[J].微电子学与计算机,2008,25(8): 129-132.

[7] 杨海亮,徐用吉.利用VB读取方正排版文件提取元数据[J].中国科技期刊研究,2015,26(6):612-617.

[8] 冯民,毛善峰.一种适合大批量期刊元数据自动化提取的程序设计[J].中国科技期刊研究,2016,27(10): 1081-1084.

[9] 吴春龙.C#语言实现从Word文档中提取文本[J].电脑编程技巧与维护,2013(13):84-87.

[10] 汤克明,陈崚.Word服务器的接口解析与文档属性提取[J].计算机工程与应用,2008,44(28):79-82.

[11] 黄蔚,张璟,李军怀,等.非结构化Word数据表与RDB间的存储转换[J].计算机工程,2009,35(20):37-40.

[12] 肖刚,王洪恩,王昌建,等.基于Word文档的数据交换策略及其实现[J].计算机应用与软件,2004,21(3):34-6.

[13] 林宫.基于OLE和VBA的数据库与Word数据交互研究[J].福州大学学报(自然科学版),2006,34(6): 831-835.

[14] 郑河荣,沈瑛,马珂绛,等.Word文档信息的智能提取技术[J].绍兴文理学院学报(自然科学版),2003,23(9): 33-35.

[15] 王克刚,齐军.Word文档的程序控制[J].安康学院学报,2002,14(2):45-47.

[16] ANSI/NISOZ 39.85—2001. The Dublin core meta data element set [M]. Maryland: NISO Press, 2001.

[17] 屠彤辉.期刊论文的元数据描述探析[J].上海高校图书情报工作研究,2006(4):30-34.

[18] 刘永强,李园,马昕红,等.学术期刊傻瓜式投稿模板设计方法[J].编辑学报,2018,30(2):192-195.

猜你喜欢
参考文献
Eurydice’s Face:the Paradox of Mallarmé’s Musical Poetics*
Kidney health for everyone everywhere—from prevention to detection and equitable access to care
Effect of low high-density lipoprotein levels on mortality of septic patients: A systematic review and meta-analysis of cohort studies
SINO-EUROPE SYMPOSIUM ON TRADITIONAL CHINESE MEDICINE & HERBAL MEDICINE-MARKET OVERVIEW ®ULATION POLICY
A prediction method for the performance of a low-recoil gun with front nozzle
The Muted Lover and the Singing Poet:Ekphrasis and Gender in the Canzoniere*
Where Does Poetry Take Place? On Tensions in the Concept of a National Art* #
Chinese Cultural Influence on Hannah Jelkes in The Night of the Iguana*
The serum and breath Raman fingerprinting methodfor early lung cancer and breast cancer screening
Study on the physiological function and application of γ—aminobutyric acid and its receptors