我有一个 VBA 代码,我想将其转换为我的 python 脚本。
Sub formatStatus()
Dim ws As Worksheet
Dim fc_blocked As FormatCondition
Set ws = ThisWorkbook.ActiveSheet()
ws.Columns(1).FormatConditions.Delete
Set fc_blocked = ws.Columns(1).FormatConditions.Add(Type:=xlTextString, TextOperator:=xlContains, String:="blocked")
fc_blocked.Font.Color = RGB(100, 48, 160)
fc_blocked.Interior.Color = RGB(180, 120, 250)
End Sub
Run Code Online (Sandbox Code Playgroud)
我的 python 代码如下所示:
import win32com.client as win32
fcBlocked = ws.Columns(iCol).FormatConditions.Add(Type = win32.constants.xlTextString, TextOperator=win32.constants.xlContains, String='blocked')
fcBlocked.Font.Color = int('%02x%02x%02x' % (100, 48, 160)[::-1],16)
fcBlocked.Interior.Color = int('%02x%02x%02x' % (180, 120, 250)[::-1],16)
Run Code Online (Sandbox Code Playgroud)
但我有一个例外。
我成功尝试了
fcBlocked = ws.Columns(iCol).FormatConditions.Add(Type = win32.constants.xlCellValue, TextOperator=win32.constants.xlEqual Formula1='="blocked"')
fcBlocked.Font.Color = int('%02x%02x%02x' % (100, 48, 160)[::-1],16)
fcBlocked.Interior.Color = int('%02x%02x%02x' % (180, 120, 250)[::-1],16)
Run Code Online (Sandbox Code Playgroud)
但这会检查文本是否相等,而不是字符串是否包含“blocked”。
有人可以给我建议吗?
预先致谢并致以诚挚的问候!
小智 5
花了一个小时找出答案,几乎投降,但终于找到了:
\n\nxlFC = xlApp.Columns("G:G").FormatConditions.Add(xlTextString, None, None, None, u\'\xd0\xbe\xd1\x81\xd1\x82\xd0\xb0\xd0\xbb\xd0\xbe\xd1\x81\xd1\x8c -\', xlContains, None, None)\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
3229 次 |
| 最近记录: |