有一些用户反馈这个问题时还能保持礼貌,而有一些用户就直接飙脏话对我进行辱骂,仿佛更新标准库 —— 侵犯了他什么神圣的权利。 我今天特别解释一下这个问题: 1、aardio 并没有自动升级的功能,一定是你手动点击更新 —— 标准库才会更新。如果你主动去更新标准库,又不想标准库被更新,这是非常矛盾的一个需求。 2、如果你想扩展标准库的功能,你并不需要修改标准库。只要简单的增加一个新的库,继承并扩展原来的库函数即可。
import com.excel; namespace com{ class excel2{ ctor( ... ){ this = ..com.excel( ... ) }; } SaveAs = function(path,format){ if(!#path) error('请指定保存路径',2); if(format===null){ var ext = ..string.match(path,'[^.]+$'); if( ext ){ format = ( { pdf = 0/*_xlTypePDF*/; xps = 1/*_xlTypeXPS*/; xls = 0x2B/*_xlExcel9795*/; xlsx = 0x33/*_xlOpenXMLWorkbook*/; xlsm = 0x2E/*_xlXMLSpreadsheet*/; xlsb = 0x32/*_xlExcel12*/; } ) [..string.lower(ext)]; }; } path = ..io.fullpath(path); if(format<=1) return owner.ActiveWorkbook.ExportAsFixedFormat(format,path); return owner.ActiveWorkbook.SaveAs(path,format ); }; } /**intellisense() com.excel2() = 创建 Excel 对象\n!excel. end intellisense**/ 你可能会想为什么不直接加到标准库呢?!首先 Excel 存为 pdf 是个不常见的操作 ,90%的人用不到你的代码却要执行你的代码其实也不公平。另外你要更愉快地保存为 pdf ,其实还有个更复杂的 ExportAsFixedFormat2 函数,复杂到你可以去实现一个新的库 —— 可能代码比 com.excel 还要长。我们编写标准库 —— 就要随时控制我们可能无限膨胀的欲望,保持一个库主要只做一件事。
|
|