我有一個基於條件格式化單元格的宏。 這裏是代碼:從c#打開文件時Excel宏沒有正確執行#
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Set MyPlage = Sheets("Report").Range("E13:E1500")
For Each Cell In MyPlage
If Cell.Value = "L" Then
Cell.Borders.ColorIndex = 1
Cell.Font.ColorIndex = 3
ElseIf Cell.Value = "K" Then
Cell.Borders.ColorIndex = 1
Cell.Font.ColorIndex = 44
ElseIf Cell.Value = "J" Then
Cell.Borders.ColorIndex = 1
Cell.Font.ColorIndex = 10
ElseIf Cell.Value = "ü" Then
Cell.Borders.ColorIndex = 1
ElseIf Cell.Value = "" And Cell.Offset(0, 1).Value <> "" Then
Cell.Borders.ColorIndex = 1
Else
Cell.Borders.ColorIndex = 2
End If
Next
該宏在保存工作簿之前執行。 它從excel中完美地工作。
我的問題是,我有一個C#應用程序,打開這個excel文件,並用數據更新它。
當我保存文件(從代碼)並打開文件(從桌面或任何地方)時,我看到宏已經運行,但顏色(格式)對某些單元格不正確。
例如,如果單元格值爲「OK」,則格式化單元格的顏色應爲「紅色」。 當我從Excel中保存工作簿時,所有帶有「OK」值的單元格都是紅色的。大!但是,當我運行我的應用程序打開文件,進行更改並保存它時,一些「OK」單元格是「紅色」(太棒了!),但其他是「綠色」(壞!)。
有沒有人有想法?
謝謝