2009年12月29日, 12:57 下午

Loading ...
微软官方在Office商店公开了Office Pro 2010 Beta的下载,通过登录自己的LIVE ID之后,直接获取下载地址和KEY,并可免费使用到2010年10月。
Office Pro 2010 Beta中文版,包括Word、Excel、PowerPoint、OneNote、Access、Outlook、Publisher组件,组合了在任何地方创建、编辑和共享文档所需的一切。
Office Professional 2010 Beta获取地址:
http://www.officebeta2010.com/referrer.aspx?r=f4c00acb-c1cb-45d2-a665-711ba1e4faa4
2009年12月24日, 9:11 下午

Loading ...
Merry Christmas.!Happy New Year!
预祝大家节日快乐!
Office 2010正式版还未发布,相关图书就来啦!这里,奉上一本关于Office 2010的新书,与大家共享。

下载地址:
2009年08月19日, 1:04 下午

Loading ...
作为Office 2007发布版的一部分,我们对Office中的图表作了较大的修改,然而并没有为Word和PowerPoint提供对象模型。响应用户的反馈,在Office 2007 SP2和Office 2010中,我们公布了Word和PowerPoint中统一的/一致的图表对象模型,因此,你可以为任何利用了新的图表功能的应用程序编写解决方案。图表通过相同的共享的Office绘图层来绘制,因此如果你熟悉Excel 2007中的对象模型,那么可以容易地在Word和PowerPoint中创建相似的解决方案。
公司经常需要基于客户端指定的数据在文档或演示文档中创建图表。在许多情况下,这些图表有标准格式、大小和位置,使之首选自动化操作完成。这个对象模型能够被用作解决方案的一部分,以自动生成图表,从而节省时间。
下面看一个示例:如何基于已经获得的数据在PowerPoint中创建图表并应用标准的格式。
Sub CreateChart()
Dim myChart As Chart
Dim gChartData As ChartData
Dim gWorkBook As Excel.Workbook
Dim gWorkSheet As Excel.Worksheet
Set myChart = ActivePresentation.Slides(1).Shapes.AddChart.Chart '创建/设置图表
Set gChartData = ActivePresentation.Slides(1).Shapes(1).Chart.ChartData '设置图表数据
Set gWorkBook = gChartData.Workbook '设置工作簿对象引用
Set gWorkSheet = gWorkBook.Worksheets(1) '设置工作表对象引用
gWorkSheet.ListObjects("Table1").Resize gWorkSheet.Range("A1:B5") '添加数据
gWorkSheet.Range("Table1[[#Headers],[Series 1]]").Value = "Sales"
gWorkSheet.Range("a2").Value = "Bikes"
gWorkSheet.Range("a3").Value = "Accessories"
gWorkSheet.Range("a4").Value = "Repairs"
gWorkSheet.Range("a5").Value = "Clothing"
gWorkSheet.Range("b2").Value = "1000"
gWorkSheet.Range("b3").Value = "2500"
gWorkSheet.Range("b4").Value = "4000"
gWorkSheet.Range("b5").Value = "3000"
With myChart '应用样式
.ChartStyle = 4
.ApplyLayout 4
.ClearToMatchStyle
End With
myChart.HasTitle = True '添加标题
With myChart.ChartTitle '格式化标题
.Characters.Font.Size = 18
.Text = "2007 Sales"
End With
With myChart.Axes(xlValue) '添加坐标轴标题
.HasTitle = True
.AxisTitle.Text = "$"
End With
myChart.ApplyDataLabels '添加数据标签
Set gWorkSheet = Nothing
gWorkBook.Application.Quit
Set gWorkBook = Nothing
Set gChartData = Nothing
Set myChart = Nothing
End Sub
正如你所见,图表仍然由ChartObject表示并且在本例中由Shape包含。图表在Word中能够由InlineShape或Shape包含,在PowerPoint中由Shape包含。这里,ChartObject一般是在Excel中看到的镜像。一些关键的不同是:
- 在Excel中属性/方法通常接受一个Range对象,而现在在Word和PowerPoint中接受单元格地址字符串。
- 在Word和PowerPoint中添加了一个新对象ChartData,访问图表中隐含的链接或嵌入的数据。
编程操作Word和PowerPoint中图表的能力也为围绕在演示期间动态改变图表外观或者创建交互的Word文档的各种各样有趣的解决方案打开了“门”。下面是一个解决方案示例:在演示期间添加数据标签到图表中。
Private Sub BtnDataLabels_Click()
Set myChart = ActivePresentation.Slides(1).Shapes(1).Chart '设置图表对象引用
myChart.ApplyDataLabels '添加数据标签
Set myChart = Nothing
End Sub
初译自Excel Team Blog。
问题:在实现第一个示例时,发现必须添加对Excel对象库的引用,在添加时发现虽然安装的是Office 14,但仍然是“Microsoft Excel 12.0 Object Library”,并且执行时出现错误:

难道作者的介绍自相矛盾?
2009年08月17日, 2:14 下午

Loading ...
条件格式的新功能也扩展到了对象模型。Excel通常允许用户通过对象模型访问单元格的格式,例如用户可以使用Range对象的interior类访问单元格的格式。
返回单元格的背景色。
然而,Selection.Interior.Color不会考虑应用到单元格的条件格式。在Excel 2010中,引入了名为DisplayFormat的新类,属于Range对象。这个类提供了一种访问由条件格式规则和像表样式格式单元格那样应用到的格式的方式,而不会影响到已有的单元格格式属性。
例如,下面的代码获取活动单元格的填充色(在考虑到应用到单元格的任何条件格式之后):
Selection.DisplayFormat.Interior.Color
让我们看一个如何使用DisplayFormat对象的简单示例。一个书店基于销售目标的程度如何给它的雇员提供红利,红利按下列方式发放:
- 15%红利——销售目标满足了本年每季度的目标。
- 5%红利——销售目标满足了本年至少一个季度的目标。
- 没有红利——没有满足任何销售目标。
在每年开始,书店汇总每个雇员的销售目标如下:

然后,书店在单独的工作表中记录实际的销售并使用条件格式高亮显示雇员没有满足销售目标的季度。这些季度使用如下所示的红色背景高亮显示:

由于红利在每年末取决于销售人员满足其目标来发放,因此可以设想计算红利百分比的公式将相当复杂。使用新的DisplayFormat对象,可以容易地编写自已定义的函数,利用条件格式规则中的智能来计算红利。
本例中,计算雇员红利的函数如下:
Function BonusAward(quarters As Range) As Double
Dim iBelowTarget As Integer ' 在目标之下的单元格数
' 初始化变量
BonusAward = 0.15 '默认15%红利-满足所有目标
iBelowTarget = 0
' 遍历每个单元格
For Each qCell In quarters
'如果条件格式单元格背景不是红色(255)
If qCell.DisplayFormat.Interior.Color > 255 Then
BonusAward = 0.05 ' 发放更少的红利 (failed quarter)
iBelowTarget = iBelowTarget + 1
End If
Next qCell
' 如果所有的季度都在目标之下则发放零红利
If iBelowTarget = quarters.Cells.Count Then BonusAward = 0
End Function
DisplayFormat对象使用许多已存在的类和属性,例如Borders、Characters、Font、Interior和Style,提供了对条件格式结果的访问。由于使用现有的类和属性,因此意味着可以容易地扩展现有的代码来使用它。
本文初译自Excel Team Blog,仅供参考。
2009年08月12日, 1:02 下午

Loading ...
下面介绍Excel 2010中一些新的条件格式功能:
交叉表引用
在Excel 2010中,可以创建引用工作簿中不同工作表的条件格式。这意味着,在使用条件格式时,不再需要复制或链接数据到同一工作表。
例如,看看某连锁书店每月销售数据,该书店采用如下方式组织销售数据:
- 每个位置有自已的工作表
- 最后一个工作表包含全公司累计销售数据,使用每个部门的平均值。
下面我们应用条件格式,以便能够容易判断是否位于本地分支机构的部门与该公司其它分支机构相比做得更好或更差。让我们使用San Francisco分支机构作为我们的示例。我们将应用绿色背景填充那些比平均值高的部门。
步骤1 打开San Francisco所在的工作表,选择希望应用条件格式的销售列中的单元格。单击“开始—条件格式—高亮单元格规则—大于”。

步骤2 单击对话框中RefEdit图标,导航到希望比较其中的值的工作表。本例中,导航到全公司工作表,单击部门列中第一行的平均值。

步骤3 下面是一个极好的小技巧——条件格式中的引用遵循所有的绝对和相对引用规则。单元格引用相对于所应用到的单元格区域中的活动单元格(本例中是单元格区域的左上单元格)。
删除行号前的$符号,修改引用为相对于行。

结果是在San Francisco工作表中的每个部门与Company工作表中相同类型的部门相比较。
步骤4 单击“确定”,建立了一个取决于工作簿中其它工作表的条件格式规则。

错误处理
你曾经使用过发现某个公式结果为错的基于条件格式的区域(例如图标集、色阶和数据条)吗?在Excel 2007中,单元格区域中的错误将导致该区域的所有单元格都不能应用条件格式。
在Excel 2010中,条件格式悄悄地忽略了这些错误,继续应用条件格式到该区域中剩下的单元格。

性能增强
在Excel 2010中已经提高了格式的性能。对于条件格式,我们存储所使用的相互依赖的公式,因此不需要经常重新评估整个条件格式。我们也使带状的表和数据透视表样式更快,因此这将影响诸如刷新工作表中数据透视表或滚动大的表等操作。在上述所有情况下,我们也缓存了单元格的格式,因此如果滚动关闭屏幕并返回,或者切换工作表并返回,我们将记住单元格格式,可以显示得更快。
原文见Excel Team Blog。