2023年12月22日发(作者:)

Word2010画布中形状无法使用对齐的解决办法

1 问题描述

在Word可以利用形状工具绘制出专业的流程图等插图,但Word2010中,在画布中绘图时,选中多个对象,无法使用“左对齐”等对齐功能,具体表现为对齐功能按钮为灰色,无法点击(如图1),不能方便地调整形状位置,使插图更专业,而这个功能在Office2003,Office2007都可以用。

图1对齐按钮为灰色,无法点击

2 解决办法

关于这个问题,网上也有其他人遇到,在各个Office论坛也有提问者,但大多无法解决,建议退回2007。有人说英文版没有此问题,经亲身测试,英文版也有这个问题,在微软的官方论坛上,也有人提问,经MVP证实,是Office2010存在的一个bug。既然知道是个bug,微软为何迟迟不修复呢,为寻找答案,在万能的谷歌上用英文搜索,终于在微软的英文社区找到一篇帖子,帖子地址如下:

/en-us/office/forum/office_2010-word/cannot-align-objects-in-a-drawing-canvas/2cda118b-2302-4a70-9b9a-3acf87dbe37b?page=1&tm=11

我仔细看了每一页的每一条回复,上面很多人都表示经常用到这个功能,对Word2010的这个bug十分不满,已有多个正版用户正式联系了微软的客服人员,都未得到如何解决及何时修复的明确答复,因而有几个用户提出了几个应对此问题的方法,归纳如下,希望能对喜欢Office2010并经常用到这个功能的用户有所帮助。

2.1 方法一:在PowerPoint中绘图,再粘贴到Word中

这个方法确实管用,而且即使对齐功能可用,在PowerPoint中绘图中远比word方便,

所谓术业有专攻。但这样一来会遇到一个问题,在PowerPoint绘制的图形如果改变了主题,而Word中应用了是默认主题或另一套主题,粘贴到Word中的时候,主题会变成Word中的主题,粘贴到Word后,还要进一步修改才能用。另外,画个图,老要在PowerPoint和Word中来回切换,也比较麻烦。

2.2 方法二:将文档存成Word97-2003文档

细心的使用者发现,如果将文档存成Word97-2003文档,Word中相应的功能便可以使用,这对于还一直在使用.doc格式文档的使用者来说是个好消息,这也是我认为成本最小的解决方法,最多画完图后再转换成.docx文档即可。

2.3 方法三:最彻底的方法,自己编VBA实现此功能,并将其添加到Ribbon面板上

一位专业的使用者自己使用VBA实现了上述对齐功能,并将代码和添加按钮的方法在网络上公布,这是目前最彻底的方法,原文地址如下:

代码及代码添加方法:/en/archives/66

在Ribbon界面增加按钮的方法:/en/archives/72

作者貌似是个日本人,这里没有歧视,他给出的方法确实有用,就简单翻译了一下。

代码添加方法:

1>按Alt+F11打开Visual Basic面板(或者先【文件】|【选项】|【自定义功能区】|勾选开发工具面板|【确定】|在开发工具面板点击【Visual Basic】按钮打开),然后在Normal上【右键】|【插入】|【模块】,如图2所示:

图2插入模块

2>插入如下代码,并保存即可。

Private Sub AlignHorizontal(ARate As Single)

Dim Min, Max, i As Integer

Min = 32768

Max = -32768

For Each AShape In hapeRange

If Min > Then

Min =

End If

i = + / 20

If Max < i Then

Max = i

End If

Next AShape

For Each AShape In hapeRange

= Min * (1 - ARate) + Max * ARate - / 20

* ARate

Next AShape

End Sub

Private Sub AlignVertical(ARate As Single)

Dim Min, Max, i As Integer

Min = 32768

Max = -32768

For Each AShape In hapeRange

If Min > Then

Min =

End If

i = + / 20

If Max < i Then

Max = i

End If

Next AShape

For Each AShape In hapeRange

= Min * (1 - ARate) + Max * ARate - / 20

* ARate

Next AShape

End Sub

Private Sub AlignShape(AHorizontal As Boolean, ARate As Single)

If = 0 Then

Exit Sub

End If

If AHorizontal Then

AlignHorizontal (ARate)

Else

AlignVertical (ARate)

End If

End Sub

Sub AlignHorizontalLeft()

AlignShape True, 0

End Sub

Sub AlignHorizontalCenter()

AlignShape True, 0.5

End Sub

Sub AlignHorizontalRight()

AlignShape True, 1

End Sub

Sub AlignVerticalTop()

AlignShape False, 0

End Sub

Sub AlignVerticalMiddle()

AlignShape False, 0.5

End Sub

Sub AlignVerticalBottom()

AlignShape False, 1

End Sub

3>调用这些功能时只需先选中需要对齐的形状,点击Alt+F8(或者【开发工具】【宏】|),调出宏对话框,然后选中相应的宏,并运行就可以实现相应的对齐功能了。

在Ribbon面板上为对齐功能添加相应的按钮

以上三步已经实现了在画布中也能对齐的功能,但每一次都要运行宏,不够简便,而且对于初级用户来说,不够点击按钮直观,因而介绍为相应的宏代码在Ribbon上添加相应按钮的方法。

1>【文件】|【选项】|【自定义功能区】,然后按图3步骤操作。

图3 Ribbon面板上插入新组

2>为宏添加相应按钮,具体步骤如图4。

图4为宏添加相应按钮

这样就能在Ribbon界面中看到新添加的按钮了,还可以为按钮重命名,如右对齐等,以区分不同的功能,具体可以自己摸索修改。

至此,相当在Word2010中自己开发了形状对齐功能。

3 结论

以上提供了三种方法解决Word2010中无法使用形状对齐功能,具体使用哪种,根据自己需要及自身水平选择,希望大家使用Word2010顺利。