Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4737960
  • 博文数量: 206
  • 博客积分: 5240
  • 博客等级: 大校
  • 技术积分: 3224
  • 用 户 组: 普通用户
  • 注册时间: 2010-08-12 21:40
文章分类

全部博文(206)

文章存档

2013年(13)

2012年(8)

2011年(33)

2010年(152)

我的朋友

分类: 数据库开发技术

2012-06-22 11:46:22

在某Q群,有人需要获取货号,如果用公式设置将会很麻烦并且不是完全适用,于是,用  编程语言, 运用模式匹配(正则的另一种),帮对方做了一个小工具,解决了这个问题。分享工具源码如下

import win.ui;
import com.excel
/*DSG{{*/
var winform = ..win.form( text="Excel获取货号";bgcolor=16777215;bottom=130;topmost=1;right=499;acceptfiles=1;parent=...)
winform.add( 
txtEdit={ bottom=78;right=468;left=74;top=50;z=1;text=
"文件名";edge=1;cls="edit" };
static={ bottom=36;text=
"将待处理Excel文件文件拖放到窗体上即可";left=31;top=13;transparent=1;z=2;right=286;cls="static" }
)
/*}}*/

整理 = 
function(filename){
   
var excel = com.excel() 
   
var book=excel.Workbooks.Add(filename)          //添加工作簿
   excel.Visible = true                        //设置可见
   var sh = book.Worksheets(1)                     //表1 
   sh.copy(,sh)// 建立工作副本
   var sh1 = book.Worksheets(2)// 选择副本    
    for(i,values in excel.eachValue(2) ){     
        
var str = string.match(values[1],"\w+")
        
if(str){
            sh1.range(
"B"+i).value2 = str
        }   
        
    }
    
return win.msgbox("整理完毕,请保存..."); 
}
winform.wndproc = 
function(hwnd,message,wparam,lparam){
    
select(message) {//判断消息类型
    
        
case 0x233/*_WM_DROPFILES*/                 //拖动消息
        { 
            filename=win.getDropFile(wparam )[1]            
//取得文件名
            winform.txtEdit.text = filename;            //edit控件显示文件名
            winform.redraw() 
            整理(filename)                              
//执行“整理”函数
        } 
    }
}

winform.show() 
win.loopMessage(); 


测试程序源码及工作表

 获取货号.rar   


阅读(2944) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~