我有一個奇怪的問題,Excel在我的開發機器和測試機器上表現不同。寫入單元格打開ScreenUpdating在我的VSTO加載項
在我的加載項中,我關閉了ScreenUpdating在長時間運行的進程的幾個地方。在我的機器上,這工作正常。在測試機器上,只要我寫入單元格,Excel就會設置ScreenUpdating = true
。
以下代碼演示了我的問題。
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
Microsoft.Office.Interop.Excel.Application excel = Globals.ThisAddIn.Application;
MessageBox.Show(excel.ScreenUpdating.ToString());
excel.ScreenUpdating = false;
MessageBox.Show(excel.ScreenUpdating.ToString());
Workbook workbook = Globals.ThisAddIn.Application.ActiveWorkbook;
Worksheet w = (Worksheet)workbook.Worksheets[1];
((Range)w.Cells[1, 1]).Value = "Test";
MessageBox.Show(excel.ScreenUpdating.ToString());
}
在我的機器,打開Excel提供了三個消息框說
「真」, 「假」, 「假」。
在試機他們說
「真」,「假」與「真」。
我已經介紹了遠程調試器,並在單元格值設置後立即觀察ScreenUpdating
屬性更改。此外,這不是重置ScreenUpdating
的唯一東西。添加或刪除工作表或工作簿也會這樣做。
每個系統上的Excel版本相同(14.0.6112.5000(32位))。
這可能是什麼原因造成的?我如何解決它,以便Excel尊重我的設置?
測試機器在XLStart文件夾中是否有其他xla或插件? – Kiru
@Kiru是的。有一個彭博加載項已安裝。事實上,禁用它似乎可以解決問題並重新啓用該功能。我想我需要跟彭博社交談。 –