我这里有一段代码实际上可以使用 python win32com 在 excel 中格式化边框。我担心的是格式化边框所需的时间。我试图在 excel 中记录一个宏,以找出在我的脚本中转置它所需的信息,但它没有用。
所以我能做的最好的事情就是在一个 for range 循环中运行,在这个循环中我总是从第 3 行开始,直到一个名为 shn[1] 的行计数器,增量为 1,从第 1 列到第 10 列,增量为 1。从那里我使用“BorderAround()”,它工作得很好但太慢了。这是我的一段代码:
for shn in [("Beam-Beam", bb_row, bb_col), ("Beam-Col", bc_row, bc_col)]:
sheet = book.Worksheets(shn[0])
sheet.Range( "J3:DW3" ).Copy()
if shn[0] == "Beam-Col":
sheet.Range( "J3:AA3" ).Copy()
sheet.Range( sheet.Cells( 4, 10 ), sheet.Cells( shn[1]-1, 10 ) ).PasteSpecial()
for mrow in xrange(3,shn[1],1):
for mcol in xrange(1,10,1):
sheet.Cells(mrow, mcol).BorderAround()#.Border(1)
有什么办法可以用 ==> sheet.Range( sheet.Cells(3,1), sheet.Cells(shn[1],10) ) 之类的范围格式化边框吗?我尝试了“.Borders(11)”和“.Borders(12)”加上“.BorderAround()”,但只有“.BorderAround()”有效。
提前致谢。