【菜鸟求助】怎么把Excel指定range改成数字格式?

yaodaowuyue 2016-09-27 11:05:53
NumberFormatLocal:=‘0%’不起作用啊T-T

 for ExcelSheet_Count:=ExcelSheet_Count-4 to StrToInt(FormatDateTime('dd',Now()) ) do
begin
day := IntToStr(ExcelSheet_Count);
DReportPath :='\\P4-AK2-MONITOR\Shared Date\NOX GEN2&GEN3\oee daily report\'+year+'-'+month+'-'+day+' ckfe nox gen 2&3 oee report.xls' ;
ExcelDReport := ExcelApp2.WorkBooks.Open(DReportPath);
ExcelSheet1 := ExcelBook.WorkSheets[ExcelSheet_Count+4];
ExcelSheet2 := ExcelDReport.WorkSheets[1];
ExcelSheet1.Activate;
ExcelSheet2.Activate;

myrange2:=ExcelSheet2.Range['C6','Q20'];
myrange2.select;
myrange2.copy;

myrange1:=ExcelSheet1.Range['C4','Q18'];
myrange1.select;
ExcelSheet1.paste;
myrange1.NumberFormatLocal:='0%'; //没有效果,why?

end;
...全文
347 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yaodaowuyue 2016-09-28
  • 打赏
  • 举报
回复
问题解决了,关键是我自己没问到点子上,应该是“储存为文本格式的数字转数字格式” 自己摸索出来的解决方案:ExcelSheet1.Application.Selection := ExcelSheet1.Application.Selection.Value;
yaodaowuyue 2016-09-28
  • 打赏
  • 举报
回复
忘记说了,要改成数字格式的range内容,是从 没有修改权限 的工作簿里复制到有完整权限的工作簿里的,“不能设置类Range的NumberFormatLocal属性”是不是这个原因呢?
yaodaowuyue 2016-09-27
  • 打赏
  • 举报
回复
引用 1 楼 kiboisme 的回复:
Selection.NumberFormatLocal := "0_ "; 其他如 Selection.NumberFormatLocal := "0.00_ ";
呃,先谢过大神回复。 我试了一下,直接用Selection.NumberFormatLocal会报‘Selection未定义’,用ExcelApp.Selection.NumberFormatLocal会提示“不能设置类Range的NumberFormatLocal属性”。这该怎么改呢?
蓝色光芒 2016-09-27
  • 打赏
  • 举报
回复
Selection.NumberFormatLocal := "0_ "; 其他如 Selection.NumberFormatLocal := "0.00_ ";

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧