我正在尝试更改雷达图表轴和类别标签上的文本格式,我的代码适用于轴字体大小并提供所需的输出,但是一旦代码运行在我的代码上,我也会收到错误第ax.Format.TextFrame2.TextRange.Font.Size = 7;
行
调试错误:
mscorlib.dll中发生了'System.Runtime.InteropServices.COMException'类型的异常,但未在用户代码中处理。 附加信息:未指定的错误(来自HRESULT的异常:0x80004005(E_FAIL))
一旦操作完成,如何更改类别标签以及可能导致错误的原因?
以下是代码:
public static void FormatRadarLabels(Excel._Application xlApp)
{
Excel.Chart chart = null;
xlApp.ScreenUpdating = false;
try {
chart = xlApp.ActiveChart as Excel.Chart;
foreach (Excel.Axis ax in chart.Axes()) {
ax.Format.TextFrame2.TextRange.Font.Size = 7;
}
}
finally {
if (chart != null) Marshal.ReleaseComObject(chart);
xlApp.ScreenUpdating = true;
}
}
该方法由另一个类中的方法调用,该方法由excel工具栏上的按钮调用,但我不认为错误与外部任何问题有任何问题,就像我评论或删除这段代码剩下的格式化工作正常。
感谢您提供的任何帮助或建议。请记住,我对C#,VSTO和Visual Studio相对较新(6个月的经验),所以可能无法理解所有技术术语。如果需要,我也很乐意提供进一步的信息。 :)
答案 0 :(得分:0)
什么属性正好引发异常?
ax.Format.TextFrame2.TextRange.Font.Size = 7;
我建议从打破属性和方法调用链并在不同的行上声明它们开始。因此,您将找到准确触发异常的属性或方法。