示例代码,这个是我在自行研究python自动化里面的PPT,发现了个小bug,代码是截取了部分,运行不起来的,仅供复现说明一下bug
if row%2==1 and R==0:
placeholder[i].table.cell(row, col).fill.fore_color.rgb=RGBColor(P_R,P_G,P_B)
if row%2==1 and R==237:
placeholder[i].table.cell(row, col).fill.fore_color.rgb=RGBColor(N_R,N_G,N_B)
else:
placeholder[i].table.cell(row, col).fill.fore_color.rgb=RGBColor(255,255,255)
placeholder[i].table.cell(row, col).fill.transparency=200
可以看到这里是3个条件判断,假设有3个对象需要判断,分别是A,B,C,我本想,如果符合第一个if,A进行处理,符合第二个if,B进行处理,剩下的就是C。
但是上面的逻辑是符合第一个if,A进行处理,然后B符合第二个处理,然后剩下A,C就是else:处理,结果就是后面的else处理结果会覆盖前面第一个if的A处理结果,导致不是我想要的处理逻辑
没有处理到,下面上正确代码,就是我想要进行处理的逻辑
if row%2==1 and R==0:
placeholder[i].table.cell(row, col).fill.fore_color.rgb=RGBColor(P_R,P_G,P_B)
elif row%2==1 and R==237:
placeholder[i].table.cell(row, col).fill.fore_color.rgb=RGBColor(N_R,N_G,N_B)
else:
placeholder[i].table.cell(row, col).fill.fore_color.rgb=RGBColor(255,255,255)
placeholder[i].table.cell(row, col).fill.transparency=200