Word 2007调整表格中公式显示格式的宏

Thursday, March 22, 2007

最近要写一个报告,正好体验了一把Word 2007,改变的确很大,界面的报道已经很多了,google、baidu搜索不知道有多少结果。我比较关心其中公式编辑器的改变,不像以前的版本使用MathType的简化版来做为公式编辑器,word 2007使用普通文本来而不是对象来描述公式(以前的版本使用嵌入对象来描述,这个方法现在仍然被支持),所以它能很好的嵌入在普通文本里面。更为重要的是据说为了新的公式编辑器,微软使用了TeX的标准和设计新的数学字体。通过实践,果然word 2007生成的公式比以前的美观了很多。下面两个你能猜出来哪个是新公式编辑器写的吗?

eqo2007

正如上面提到的word2007的公式有两种显示方式,一种是“显示”,一种是“嵌入”。“显示”格式使公式独占一行或者表格中的一个单元格居中显示,样式比较美观。“嵌入”格式则是指把公式以普通文本的格式嵌入到段落中,样式稍微不那么美观。word默认是使用“显示”格式的。这就让我在使用中遇到了一个问题,在表格中有很多公式,每个公式独占一个单元格,按默认他们都是居中“显示”的,就算我设置单元格是左对齐它们也特立独行,所以必须把它们都改成“嵌入”,表格中公式有特别多,一个个改是在是太麻烦了,所以小看了以下VBA写了下面这个宏来完成把表格中的公式都改成“嵌入格式”

   1: Sub 公式格式()
   2:     On Error GoTo Err
   3:     Dim oTable As Table
   4:     Set oTable = Selection.Tables(1)
   5:     Dim oCell As Cell
   6:     For Each oCell In oTable.Range.Cells
   7:         Dim intMathNumber As Integer
   8:         intMathNumber = oCell.Range.OMaths.Count
   9:         If intMathNumber > 0 Then
  10:             For i = 1 To intMathNumber
  11:                 oCell.Range.OMaths(i).ParentOMath.Type = wdOMathInline
  12:             Next
  13:         End If
  14:     Next
  15:     Exit Sub
  16: Err:
  17:     MsgBox ("没有选中表格")
  18: End Sub

这个代码插件使复制成了一个问题,如果你不想手敲,点击这里下载 文本

 

 word 2007虽然有不少进步,但是也有不足之处,

第一是录制宏好像不怎么方便,右键菜单不能用,还有那个PP菜单上的很多东西也不能点,这个好像相比2003有了很大的退步。

第二就是公式的编号问题,word 2007中好像取消了公式编号,所以这个成了一个麻烦事,微软研究院的Dong Yu好像也对这个问题有点奇怪,于是写了一个来完成这个任务,虽然我觉得不是很好用,word 2007怎么会不提供这个功能呢?

4 COMMENTS:

Unknown said...
This comment has been removed by the author.
Anonymous said...

啊,明明是我的留言怎么变成你自己的了??
*_*

sacranto said...

给点专业精神行不行?