本工作簿不能再使用其它新字体"问题
鉴于已经有兄弟不幸遇到该问题! 首先深表同情,再表敬意 该兄弟相当顽强的解决了问题! 再此我把他所找到的方法与大家共享 以便其他幸运遇到该情况的朋友查阅 出现问题: OFFICES版本为:2003 编辑状态下一切正常,但在预览状态下就提示:本工作簿不能再使用其它新字体,而且点也很多次也确认不完。 原因 出现此问题的原因在于“自动缩放”设置。向工作簿添加图表时,默认情况下会启用“自动缩放”设置。此设置导致图表使用两种或多种字体,而不是一种。在启用了此设置的情况下向工作簿添加多个图表时,可能会达到工作簿的字体限制。对于 Microsoft Excel 2000 和更高版本,字体的最大数目为 512。如果手动添加图表或复制和粘贴现有图表,可能会达到工作簿的字体限制。下面是一个复制现有图表的示例:• 在工作表中创建图表对象。 • 在该工作表中复制和粘贴此图表对象十次或更多次。 • 然后在同一工作簿中复制该工作表多次。 解决方案 存在注册表项可以用来防止新图表的自动字体缩放。要修复现有图表,请使用“禁用现有图表中的自动字体缩放”一节中所列的方法之一。 回到顶端 阻止新图表的自动字体缩放 可以通过设置注册表项对所有新图表禁用自动字体缩放,以防止工作簿超出允许的字体的最大数目。 要禁用“自动缩放”设置,请执行下列步骤:警告:注册表编辑器或其他方法使用不当可能导致严重问题。这些问题可能需要重新安装操作系统。Microsoft 不能保证可以解决这些问题。修改注册表需要您自担风险。 注意:因为 Microsoft Windows 存在多个版本,所以在您的计算机上执行的步骤可能与下面介绍的步骤有所不同。如果是这样,请参阅您的产品文档来完成这些步骤。1. 退出所有正在运行的程序。 2. 单击“开始”按钮,然后单击“运行”。 3. 在“打开”框中,键入 regedit,然后单击“确定”。 4. 根据您的 Excel 版本,转到以下注册表子项(文件夹): Excel 2003 HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\Options Excel 2002 HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Excel\Options Excel 2000 HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Excel\Options 5. 指向“编辑”菜单上的“新建”,然后单击“DWORD 值”。键入 AutoChartFontScaling,然后按 Enter 键。 6. 单击“编辑”菜单上的“修改”。在“数值数据”框中键入 0,然后单击“确定”。 7. 单击“文件”菜单上的“退出”以退出注册表编辑器。 添加了此注册表项后,在 Excel 中创建的所有新图表都将不会选中“自动缩放”设置。 回到顶端 禁用现有图表中的自动字体缩放 使用下列方法之一来禁用现有图表中的自动字体缩放。 方法 1:禁用每个图表中的“自动缩放” 1. 选择一个图表。 2. 在格式菜单上,单击图表区。 3. 单击字体选项卡。 4. 单击以清除自动缩放复选框。 5. 单击确定。 6. 为工作簿中的每个图表重复这些步骤。 方法 2:以编程方式禁用工作簿中所有现有图表的“自动缩放” Microsoft 提供的编程示例只用于说明目的,不附带任何明示或默示的保证。这包括但不限于对适销性或特定用途适用性的默示保证。本文假定您熟悉所演示的编程语言和用于创建和调试过程的工具。Microsoft 的支持工程师可以帮助解释某个特定过程的功能,但是他们不会修改这些示例以提供额外的功能或构建过程以满足您的特殊需求。 要以编程方式禁用工作簿中所有现有图表的“自动缩放”,请执行下列步骤:1. 启动 Excel 并打开导致错误信息的文件。 2. 在“工具”菜单上,指向“宏”,然后单击“Visual Basic 编辑器”(或按 Alt+F11)。 3. 在 Visual Basic 编辑器中,从“插入”菜单中选择“模块”。 4. 在模块中键入或粘贴以下代码: Sub AutoScale_Off() Dim ws As Worksheet, co As ChartObject, i As Integer Dim ch As Chart For Each ws In ActiveWorkbook.Worksheets ' Go through each worksheet in the workbook For Each co In ws.ChartObjects 'In each chart turn the Auto Scale font feature off i = i + 1 co.Chart.ChartArea.AutoScaleFont = False Next co Next ws For Each ch In ActiveWorkbook.Charts 'Go through each chart in the workbook ch.ChartArea.AutoScaleFont = False i = i + 1 Next MsgBox i & " charts have been altered" Application.DisplayAlerts = True End Sub 5. 单击函数“AutoScale_Off”的代码中的任意位置,然后单击“运行”菜单上的“运行子过程/用户窗体”。宏运行后,您应该能够插入图表,而不会出现错误。 http://blog.sina.com.cn/s/blog_40eb9487010008dh.html