我正在动态创建一个Excel文件。
我需要将文件保存为XlFileFormat.xlXMLSpreadsheet。
但是,当我将文件保存为XlFileFormat.xlXMLSpreadsheet时,将不会添加Condtional Formatting。
我打开文件&我检查了条件格式规则管理器,但没有添加任何内容。
我也没有做任何文件保护。
With .Range("A1")
.FormatConditions.Delete()
.FormatConditions.Add(CInt(XlFormatConditionType.xlCellValue), _
CInt(XlFormatConditionOperator.xlEqual), _
"=" & """OK""").Interior.Color = CInt(eColor.FromArgb_100_51_204_51)
.FormatConditions.Add(CInt(XlFormatConditionType.xlCellValue), _
CInt(XlFormatConditionOperator.xlNotEqual), _
"=" & """OK""").Interior.Color = CInt(eColor.FromArgb_100_255_0_0)
End With
当我没有将其保存为XlFileFormat.xlXMLSpreadsheet格式时,条件格式设置正常。
有什么想法吗?
答案 0 :(得分:0)
问题不是SaveAs xml,而是条件格式代码。
运行此代码,创建条件格式并使用xml文件保存。
Sub zx()
With [A1]
.FormatConditions.Delete
.FormatConditions.Add(xlCellValue, xlEqual, "OK").Interior.Color = RGB(51, 204, 51)
.FormatConditions.Add(xlCellValue, xlNotEqual, "OK").Interior.Color = RGB(255, 0, 0)
End With
ActiveWorkbook.SaveAs "C:\Users\Chris\Documents\Scratch\SOxx", xlXMLSpreadsheet
End Sub
我不确定eColor.FromArgb ...
是什么,所以替换了RGB调用。
请注意xlXMLSpreadsheet
不支持vba,因此如果代码位于活动工作簿中,则不会使用SaveAs文件保存。
在Excel 2010上测试