指定范围仅选择填充单元格/以空单元格Python结尾

时间:2014-02-21 01:21:09

标签: python python-2.7 pywin32 win32com

有没有办法,使用win32com,指定Python只选择/复制/粘贴/自动填充/等一个在到达空单元格时停止的范围?

即。 范围(A1:A%完)

当然对xlrd库建议开放,但我的整个脚本已经在使用win32com。感谢任何提示人员!

import win32com.client as win32
excel = win32.gencache.EnsureDispatch('Excel.Application')

source = excel.Workbooks.Open("C:\source")
excel.Range("A:AA").Select()
excel.Selection.Copy()

copy = excel.Workbooks.Open("C:\copy")
excel.Range("E:AE").Select()
excel.Selection.PasteSpecial()

1 个答案:

答案 0 :(得分:1)

您可以通过

获取最后一个非emtpy单元格
XlDirectionDown = 4
last = wb.Range("A:A").End(XlDirectionDown)
range = wb.Range("A1:A"+str(last))

XlDirectionDown是一个XlDirection枚举项(xlDown),您也可以通过EnsureDispatch调度从COM获取其值:

xlApp = win32com.client.gencache.EnsureDispatch('Excel.Application')
import win32com.client.constants as cc
XlDirectionDown = cc.xlDown

第一行为win32com构建Excel的类型库,这使得常量可用。