word文档文字方向调整(让Word像Excel一样引用文档中的内容)

wufei123 发布于 2024-09-28 阅读(1)

我们经常会遇到这样的情况,在一份报告中,会有同样的内容出现很多次,比如公司名称,至少在以下几个地方出现:封面:

目录:

审计意见页:

各页的页眉:

公司基本情况:

再比如有些数字,可能也会在不同的地方出现多次,比如金融工具和关联方披露中,很多数字同前面已经披露的附注金额是一致的在Excel中,我们可以简单的通过引用其他单元格来进行引用,那么word是否可以同样做到呢?答案是肯定的,我们可以通过word 的“域”功能,实现只要输入一次,即可以保证在其他地方一同更新。

步骤也很简单,主要包括两步:定义书签,引用书签演示如下:1. 鼠标选择所需要引用的内容,例如封面上的公司名称,注意不要选到最后面的回车符,在选中状态下,点击INSERT下的Bookmark按钮(这个功能也可以通过Ctrl+Shift+F5完成):。

2. 在弹出的对话框中输入书签的名称,例如“Com_name”,点击Add,然后关闭对话框(这个对话框列出了目前文档中所有的自定义书签,如果需要删除,或者选中书签内容,可以在选中标签的情况下点击“Delete”或者“Go To”):

3. 现在已经回到了文档编辑的页面,定位到需要插入公司名称的位置,点击INSERT下面的Quick Parts按钮,在菜单中选择Field(中文“域”)(这个功能也可以通过依次按下Alt,I,F或者Alt+N,Q,F完成)

4. 在弹出的对话框中,现在左侧的列表中找到“REF”,点击以后在中间的对话框中选中我们前面添加的书签“Com_name”,并且把右下角的“Preserve formatting during updates”勾选上(这个很重要,一定要选),然后点击OK:

我们看到,这时候已经插入了一段带有底纹的公司名称,而且格式是同封面的公司名称一样的,这时候可以对文字的格式进行编辑,以符合当前段落的样式要求:

注意:所有需要用到引用文字的地方,不需要每次都这样添加,可以直接把带有底纹的域复制到其他地方并调整格式即可。我们右键这段文字,发现菜单中有这样几个特殊的内容:

含义分别是:- Update Field:更新当前域的内容,用于在更新了被引用内容后,保持目标位置和被引用内容一致;- Edit Field:又会弹出之前第4步中的对话框,可以对域内容进行修改;- Toggle Field Codes:变换域代码,点击以后会在域的代码和结果中切换显示;

对于不是想深入研究的同学来说,一般也就用到第一个功能,即更新域这个功能有个快捷键,就是F9,需要注意的是,F9只对已经选择的域有作用,所以如果你需要更新文档中全部的域的时候,需要先Ctrl+A全选,然后再按F9。

============实战应用=============除了公司名称,还有一些可以引用的内容,包括:- 资产负债表日(出现在页眉和主表表头);- 报表期间(出现在利润表、权益变动表和现金流量表页眉和表头);

- 金融工具和金融工具风险中出现的前面附注的数字;- 还有这个,可能有人已经想到,就是目录页的页码,和非上市报表中主表页面下方“载于xx页到xx页的附注为本财务报表的组成部分”中的页码,这个也可以通过把主要的几个页码添加书签的方式进行引用,每次就不需要逐个去核对了,更新一下就好。

=============提高效率的使用方法==============如果你是一个键盘控,那么你只要通过上面已经说过的两组快捷键:1. 添加书签:Ctrl+Shift+F52. 添加域:Alt,I,F(先后按,不是同时按)

如果你对于键盘会计键不是很习惯,那么可以用下面的方法你可以通过添加快捷方式到快捷工具栏,不用每次都费劲去找Bookmark和Field的按钮,方法如下(该添加快捷方式方法也适用于Excel):在标题栏中,找到快捷方式工具栏的下拉菜单,点击那个黑色小三角就可以看到,然后点击More Commands:。

弹出的对话框中,左侧代表word可以添加的快捷方式功能,右边代表现在快捷工具栏的内容先在左侧的菜单中选择Insert Tab(当然也可以选择All,比较完整,但是数量比较多),然后找到“Insert a Bookmark”,点击当中的“Add>>”按钮,就会添加到右侧的栏目中,在右侧栏目中选中快捷方式,然后点击向上或者向下箭头可以调整次序。

排在最前面的9个位置直接对应着Alt+1到Alt+9的快捷键,非常实用同样的方法把Insert a Field也添加进去,这样就不用每次都点好几次才能找到对话框了

完成以后的效果如下(请忽略其他的那些快捷方式和宏):

更加快捷的方式是添加VBA命令,再拉到快捷工具栏,两段抛砖代码如下:Sub Add_Bookmark()BMname = InputBox("请输入需要添加的书签名称")    With ActiveDocument.Bookmarks

        .Add Range:=Selection.Range, Name:=BMname        .DefaultSorting = wdSortByName        .ShowHidden = False

    End WithEnd SubSub insert_ref_field()    Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:= "REF  ", PreserveFormatting:=True

    Selection.Fields.ToggleShowCodes    Selection.MoveRight Unit:=wdCharacter, Count:=6End Sub============以下内容针对额外感兴趣的同学=============

我们可以通过点击上一个图片中的Toggle Field Codes,或者在光标停留在域上任意位置时候,按Shift+F9,(或者按Alt+F9,显示当前文档所有域代码,在域特别多的时候慎用)来显示域代码,我们来了解下域代码的含义:

域都是用一对大括号括起来的,但是这个括号不是输入进去的,是通过添加域这个功能添加进去的其中,REF是域的类型,就是我们在第4步的对话框中选择的“REF”,意思是引用;Com_name是我们定义的书签名称,“\*”是一个开关的标志,意思是格式开关,而后面的“MERGEFORMAT”就是我们在第4步中选择“Preserve formatting during updates”的结果,这个开关的含义是,在更新域的时候,保留现有的格式。

如果这个不选,那么在更新域的时候,会把被引用内容的格式也引用过来,会导致文档内容格式的错误在显示域代码的情况下,代码是可以直接被编辑的,这就提供了一个更加快捷的方法来添加现有引用在书签已经建立的情况下,我们可以直接把现有的域复制到新的位置,然后显示域代码,并直接将书签名称修改为我们需要引用的书签名。

例如,先把封面上的“2017年12月31日”添加为“BS_date”,然后在需要用到的地方,把引用公司名称的域复制过来,然后把代码中的“Com_name”改为“BS_date”,再update field即可。

============扩展内容=============前面我们已经发现,word可以添加的域有很多种,REF只是其中一个非常简单的实例其实,word中的页码,自动排列的序号,都是域,我们可以把域理解为类似Excel公式行的东西,它所显示出来的,是代码运行后的结果。

那么有人可能会问,Excel可以直接引用的内容,并不限于自身工作簿,那么word是否可以引用自身以外的内容呢?当然也是可以的,它用到的是LINK域LINK域可以引用的文档格式很多,最为主要的是各类office的文档,包括Excel和Word等。

Link域的一个实例是这样的:{LINK Excel.Sheet.12 C:\\路径\文件名.xlsx 工作表名!excel名称或单元格位置 \t \* MERGEFORMAT}其中,LINK后面的“Excel.Sheet.12”代表引用的文件类型是.xlsx文件,然后从C:开始到文件名.xlsx是被引用文件的路径位置和名称,后面是Excel的工作表名和单元格位置。

\t代表是作为文字引用,\* MERGEFORMAT和前面说的含义一样也就是说,我们可以在Word中直接引用Excel中的数字,是不是很炫酷?我们知道Excel中可以完成很多tie in和casting的工作,但是我们目前很多还是在word中进行人工验证的。

那么我们可以想象一下,在Word中建立连接,引用Excel中的数据,这样Excel负责数字核对,Word负责文档编辑,各尽其能,各显其长,不是很棒?我们可以先制作一个Excel的文件,包含了所有报表中可能需要披露的信息,包括各类数字和主要参数,然后将一份已经初步整理好的报告中建立link到Excel相应位置的链接,然后全文更新下域,一份新的报告就完成了。

听起来很酷吧?这种方法尤其适用于一些需要大批量出报告的项目,每次只需要把链接的Excel文件变更一下,就是一家新的报告但是第一次做这些链接比较辛苦,有几百个链接需要复制粘贴,另外一个问题是,生成的Word文件,每一页的断页需要人工判断,不需要的内容也需要手动删除。

但是,如果VBA可以判断这些条件,能够极大的节省需要人工判断的内容,比如那些不适用的内容,完全可以通过代码直接在Word中隐藏或者删除当然目前这只是一个提高效率的方向,真的实现,需要很多付出和努力

亲爱的读者们,感谢您花时间阅读本文。如果您对本文有任何疑问或建议,请随时联系我。我非常乐意与您交流。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。