hi,
ich suche schon eine ganze weile nach einer geeigneten lösung für mein problem.
ich habe vor / muß in einer excel-zelle mehrere textzeilen mit unterschiedlichem inhalt ablegen (xclSheet.Cells(2,10).Value = "...").
leider ist es aber auch erforderlich die textzeilen verschieden einzufärben.
und da hapert es gewaltig.
ich schaff es nur die textfarbe für die gesamte zelle (xclSheet.Cells(2,10).Font.ColorIndex = "3") zu ändern.
wie kann ich mein problem lösen?
vielen dank an euch
menno
Excel: Celle zeilenweise formatieren
Aus der Excel-Hilfe:
Das war das netteste RTFM, das ich jemals irgendwo gepostet hab
Hängt wohl damit zusammen, dass ich mich selbst ständig mit Excel rumärgern muss.
Als Beispiel wird dort aufgeführt:Wenn Sie nicht den gesamten in einer Zelle oder einem Grafikobjekt enthaltenen Text einheitlich formatieren möchten, verwenden Sie die Characters-Eigenschaft, um einen Teil des Textes zurückzugeben.
Code: Alles auswählen
In diesem Beispiel wird das dritte Zeichen in Zelle A1 der "Sheet1" fett formatiert.
With Worksheets("Sheet1").Range("A1")
.Value = "abcdefg"
.Characters(3, 1).Font.Bold = True
End With

Es gibt für alles eine rationale Erklärung.
Außerdem gibt es eine irrationale.
Wie man Fragen richtig stellt
Außerdem gibt es eine irrationale.
Wie man Fragen richtig stellt
hi,
danke schon mal für diese antwort ...
aber soweit bin ich seit dem stellen meiner frage auch gekommen ;o)
nur bekomme es aber scheinbar nicht hin, diese bsp-anweisung nach python zu portieren
xclSheet.Cells(2,10).Characters(1,4).Font.ColorIndex = "3" oder auch
xclSheet.Range("B10").Characters(1,4).Font.ColorIndex = "3"
brechen jeweils mit einem fehler ab:
Traceback (most recent call last):
File "D:\excel.py", line 17, in ?
xclSheet.Cells(2,10).Characters(1,4).Font.ColorIndex = "3"
File "C:\Python22\Core\lib\site-packages\win32com\client\dynamic.py", line 151, in __call__
return self._get_good_object_(apply(self._oleobj_.Invoke,allArgs),self._olerepr_.defaultDispatchName,None)
pywintypes.com_error: (-2147352573, 'Member nicht gefunden.', None, None)
Traceback (most recent call last):
File "D:\excel.py", line 17, in ?
xclSheet.Range("B10").Characters(1,4).Font.ColorIndex = "3"
File "C:\Python22\Core\lib\site-packages\win32com\client\dynamic.py", line 151, in __call__
return self._get_good_object_(apply(self._oleobj_.Invoke,allArgs),self._olerepr_.defaultDispatchName,None)
pywintypes.com_error: (-2147352573, 'Member nicht gefunden.', None, None)
thnx
menno
danke schon mal für diese antwort ...
aber soweit bin ich seit dem stellen meiner frage auch gekommen ;o)
nur bekomme es aber scheinbar nicht hin, diese bsp-anweisung nach python zu portieren
xclSheet.Cells(2,10).Characters(1,4).Font.ColorIndex = "3" oder auch
xclSheet.Range("B10").Characters(1,4).Font.ColorIndex = "3"
brechen jeweils mit einem fehler ab:
Traceback (most recent call last):
File "D:\excel.py", line 17, in ?
xclSheet.Cells(2,10).Characters(1,4).Font.ColorIndex = "3"
File "C:\Python22\Core\lib\site-packages\win32com\client\dynamic.py", line 151, in __call__
return self._get_good_object_(apply(self._oleobj_.Invoke,allArgs),self._olerepr_.defaultDispatchName,None)
pywintypes.com_error: (-2147352573, 'Member nicht gefunden.', None, None)
Traceback (most recent call last):
File "D:\excel.py", line 17, in ?
xclSheet.Range("B10").Characters(1,4).Font.ColorIndex = "3"
File "C:\Python22\Core\lib\site-packages\win32com\client\dynamic.py", line 151, in __call__
return self._get_good_object_(apply(self._oleobj_.Invoke,allArgs),self._olerepr_.defaultDispatchName,None)
pywintypes.com_error: (-2147352573, 'Member nicht gefunden.', None, None)
thnx
menno
Tatsächlich scheint hier ein Fehler in makepy vorzuliegen. Das Characters-Objekt hat keine __call__-Methode, sondern nur folgende:
Delete None
Insert None
_ApplyTypes_ None
__cmp__ None
__getattr__ None
__init__ None
__len__ None
__nonzero__ None
__repr__ None
__setattr__ None
_get_good_object_ None
_get_good_single_object_ None
Leider kenn ich mich nicht gut genug aus mit Windows-Programmierung um das selbst zu implementieren. :-/
Delete None
Insert None
_ApplyTypes_ None
__cmp__ None
__getattr__ None
__init__ None
__len__ None
__nonzero__ None
__repr__ None
__setattr__ None
_get_good_object_ None
_get_good_single_object_ None
Leider kenn ich mich nicht gut genug aus mit Windows-Programmierung um das selbst zu implementieren. :-/
Es gibt für alles eine rationale Erklärung.
Außerdem gibt es eine irrationale.
Wie man Fragen richtig stellt
Außerdem gibt es eine irrationale.
Wie man Fragen richtig stellt
Hallo menno,
vielleicht waere folgende Vorgehensweise eine Loesung:
Du schreibst in VBA ein Macro, das die Formatierung uebernimmt. Dieses Macro wird von python gestartet. Die notwendigen Werte werden dem Macro als Parameter* uebergeben?!?
Gruss, Helmut
*Nachtrag: statt als Parameter könnten die Werte auch auf einem temporären xls-Tabellenblatt uebergeben werden.
vielleicht waere folgende Vorgehensweise eine Loesung:
Du schreibst in VBA ein Macro, das die Formatierung uebernimmt. Dieses Macro wird von python gestartet. Die notwendigen Werte werden dem Macro als Parameter* uebergeben?!?
Gruss, Helmut
*Nachtrag: statt als Parameter könnten die Werte auch auf einem temporären xls-Tabellenblatt uebergeben werden.