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顺利。


发布评论