拷贝excel表中一块区域到另一个excel文件的一个区域,VBA方法:expression.Copy(Destination),举例是:Worksheets("Sheet1").Range("A1:D4").Copy destination:=Worksheets("Sheet2").Range("E5") 。
在PB脚本中这个参数Worksheets("Sheet2").Range("E5")如何准备给copy函数?
我用这代码拷贝到剪贴板没有问题:xlapp1.ActiveSheet.Range("A1:K15").select()
xlapp1.Selection.copy( )
但这样拷贝不了表格中的图片。所以想换个方法试试
------解决方案--------------------
ExcelServer = CREATE OLEObject
ExcelOK = ExcelServer.ConnectToNewObject( "excel.application" )
if excelok < 0 then
messagebox("连接excel失败,检查你的系统是否安装了office",string(excelok))
return(-1)
end if
ExcelServer.Workbooks.Open(pathname)
sheetindex=ExcelServer.activesheet.index
columncount=excelserver.sheets(sheetindex).columns.count
//这句可以看出,sheets(sheetindex)是一个对象,后面跟着的是属性.
//所以 Worksheets("Sheet2").Range("E5")不是copy函数的参数
//而是反过来,copy是Worksheets("Sheet2").Range("E5")对象的函数.
//调用的时候应该这样就可以了: excelserver.Worksheets("Sheet2").Range("E5").copy()