1

強調表示する Excel 行を決定する関数があります。しかし、一度に 1 つの行だけを強調表示したいのです。そのため、関数が再度呼び出されたときに、前の行の強調表示を削除 (つまり、白で強調表示) し、新しい行を強調表示する必要があります。

関数が呼び出されるたびにシート全体を白で強調表示することができます。しかし、ユーザーが既に強調表示している他の行がある場合に備えて、私は本当にそれをしたくありません。

呼び出されている関数は次のとおりです。

def highlightSol(self, id):        
    for row, cell in enumerate(self.xl.ActiveSheet.Range('A:A')):
        if id == cell:
            row = self.row + 1
            self.xl.ActiveSheet.Cells(row,1).EntireRow.Interior.Color = 1

これは、行を強調表示するために機能します。しかし、この関数が再度呼び出されたときに、その行の強調表示を解除できるように (または、技術的には別の色で強調表示できるように)、行の値を何らかの形で残しておきたいと考えています。

これはおそらく非常に簡単ですが、何らかの理由で解決策を考えていません。どんな助けでも大歓迎です。どうもありがとう!

4

1 に答える 1

0

最後に強調表示された要素の属性を設定します。self.highlightRow = row

Noneクラスの で属性をに設定できます__init__。次に、その属性を読み取り、その行の強調表示を解除するだけです。

于 2013-08-22T00:25:07.393 に答える