专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > VFP

关于VFP里EXCEL的ACTIVESHEET RANGE变量的写法

发布时间:2010-05-24 21:31:57 文章来源:www.iduyao.cn 采编人员:星星草
求助 关于VFP里EXCEL的ACTIVESHEET RANGE变量的写法
我有如下VFP9的一段代码
LOCAL lOldSetOpt,mChanNum
lOldSetOpt = DDESetOption("SAFETY")
= DDESetOption("SAFETY",.F.)
mChanNum = DDEInitiate('Excel','SYSTEM') &&EXCEL是否已经打开
IF mChanNum <> -1
= messagebox('EXCEL程序已经打开,请先将其关闭!',64,'系统提示!')
= DDETerminate(mChanNum) 
= DDESetOption("SAFETY",lOldSetOpt)
RETURN
ENDIF
IF FILE("c:ncvoucher.xls")
   DELETE FILE c:ncvoucher.xls
ENDIF
COPY TO c:ncvoucher.xls TYPE xl5
OleApp=CREATEOBJECT("Excel.Application") 
OleApp.Application.Visible=.F. 
OleApp.Application.WorkBooks.open("c:ncvoucher.xls") 
OleApp.Worksheets("ncvoucher").Activate
Myrs=OleApp.SHEETS(1).UsedRange.Rows.Count &&有数据的总行数
Myrq=OleApp.cells(2,6).Value
OleApp.cells(1,8).Value='核算类别A'
OleApp.cells(1,9).Value='核算值A'
OleApp.cells(1,10).Value='核算类别B'
OleApp.cells(1,11).Value='核算值B'
OleApp.cells(1,12).Value='核算类别C'
OleApp.cells(1,13).Value='核算值C' 
OleApp.range('F:F').NumberFormatLocal = "@"  
OleApp.range('F:F').value='20'+DTOC(Myrq)
OleApp.cells(1,6).Value='制单日期'
OleApp.ActiveSheet.Range("A1"&":"&"T"&CStr(Myrs)).Copy         &&有效数据COPY    range变量的写法 
OleApp.worksheets.Add
OleApp.worksheets("sheet1").Activate
OleApp.ActiveSheet.Name=1101
OleApp.ActiveSheet.Paste         &&把有效数据COPY至新的工作表1101
OleApp.Columns.AutoFit
OleApp.ActiveWorkbook.Save
OleApp.Quit 
RELEASE OleApp

以上代码中的OleApp.ActiveSheet.Range("A1"&":"&"T"&CStr(Myrs)).Copy   中的RANGE部分引用了变量Myrs 如果把Range("A1"&":"&"T"&CStr(Myrs))中变量部分设置为固定值,如Range('A1:T100'))则程序完全可以执行,但引用变量后则执行错误。
我也在网上找了下变量写法文章,但程序执行到此始终提示“不能识别的命令”。
请教各位师兄该如何调整??

------解决方案--------------------
*--- 将引用的区域事先赋予变量,然后再调用
DLINE_S = "A"+TRANSFORM(ROW)+":"+CHR(ASC("A")+FCOUNT()-1)+TRANSFORM(ROW)
*--- 上面红字部分即为起始单元格与终止单元格,下面代码红字部分为引用变量
OEXCEL.ACTIVESHEET.RANGE(DLINE_S).BORDERS(3).LINESTYLE = 9

------解决方案--------------------
程序中最好用cells,而不用Range
单个单元格:cells(行,列)
多个单元格:cells(左上角行,左上角列).Resize(行数,列数)
用Range要凑成字母列号,与行号,太麻烦了。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: