我正在尝试设置单元格的数字格式,但对 xlcFormatNumber 的调用失败,使单元格数字格式保留为“常规”。我可以使用 xlSet 成功设置单元格的值。

XLOPER xRet;
XLOPER xRef;

//try to set the format of cell A1
xRef.xltype = xltypeSRef;
xRef.val.sref.count = 1;
xRef.val.sref.ref.rwFirst = 0;
xRef.val.sref.ref.rwLast = 0;
xRef.val.sref.ref.colFirst = 0;
xRef.val.sref.ref.colLast = 0;

XLOPER xFormat; 
xFormat.xltype = xltypeStr;
xFormat.val.str = "\4#.00"; //I've tried various formats

Excel4( xlcFormatNumber, &xRet, 2, (LPXLOPER)&xRef, (LPXLOPER)&xFormat);

我还没有找到任何有关此命令用法的文档。任何帮助将不胜感激。

有帮助吗?

解决方案

感谢西蒙·墨菲的回答:-电子表格上的蓝精灵

//It is necessary to select the cell to apply the formatting to
Excel4 (xlcSelect, 0, 1, &xRef);

//Then we apply the formatting
Excel4( xlcFormatNumber, 0, 1, &xFormat);
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top