Hello! I want to create an Excel file through the python COM interface. I can open the file, fill the cells, save the file.
Now I want to color single characters in the cell content. In VBA ( see http://stackoverflow.com/questions/7618121/excel-vba-change-color-of-certain-characters-in-a-cell) I would do Cell.Characters(i, 1).Font.Color = vbRed How does that translate to Python? mycell.Characters[x:y] does not work, nor anything else I tried. mycell.Characters is a "win32com.gen_py.Microsoft Excel 12.0 Object Library.Characters instance", but what can I do with it? In the gen_py generated interface, the Characters class is defined as: ----8<-------------------- class Characters(DispatchBaseClass): CLSID = IID('{00020878-0000-0000-C000-000000000046}') coclass_clsid = None def Delete(self): return self._ApplyTypes_(117, 1, (12, 0), (), u'Delete', None,) def Insert(self, String=defaultNamedNotOptArg): return self._ApplyTypes_(252, 1, (12, 0), ((8, 1),), u'Insert', None,String ) _prop_map_get_ = { # Method 'Application' returns object of type 'Application' "Application": (148, 2, (13, 0), (), "Application", '{00024500-0000-0000-C000-000000000046}'), "Caption": (139, 2, (8, 0), (), "Caption", None), "Count": (118, 2, (3, 0), (), "Count", None), "Creator": (149, 2, (3, 0), (), "Creator", None), # Method 'Font' returns object of type 'Font' "Font": (146, 2, (9, 0), (), "Font", '{0002084D-0000-0000-C000-000000000046}'), "Parent": (150, 2, (9, 0), (), "Parent", None), "PhoneticCharacters": (1522, 2, (8, 0), (), "PhoneticCharacters", None), "Text": (138, 2, (8, 0), (), "Text", None), } _prop_map_put_ = { "Caption": ((139, LCID, 4, 0),()), "PhoneticCharacters": ((1522, LCID, 4, 0),()), "Text": ((138, LCID, 4, 0),()), } def __iter__(self): "Return a Python iterator for this object" try: ob = self._oleobj_.InvokeTypes(-4,LCID,3,(13, 10),()) except pythoncom.error: raise TypeError("This object does not support enumeration") return win32com.client.util.Iterator(ob, None) #This class has Count() property - allow len(ob) to provide this def __len__(self): return self._ApplyTypes_(*(118, 2, (3, 0), (), "Count", None)) #This class has a __len__ - this is needed so 'if object:' always returns TRUE. def __nonzero__(self): return True ----8<-------------------- Mit freundlichen Grüßen Dr. Hartmut Niemann Siemens AG Infrastructure & Cities Sector Rail Systems Division Locomotives and Components IC RL LOC EN CCI 1 Werner-von-Siemens-Str. 67 91052 Erlangen, Deutschland Tel: +49 9131 7-34264 Fax: +49 9131 7-26254 mailto:hartmut.niem...@siemens.com Siemens Aktiengesellschaft: Vorsitzender des Aufsichtsrats: Gerhard Cromme; Vorstand: Joe Kaeser, Vorsitzender; Roland Busch, Klaus Helmrich, Hermann Requardt, Siegfried Russwurm, Ralf P. Thomas; Sitz der Gesellschaft: Berlin und München, Deutschland; Registergericht: Berlin Charlottenburg, HRB 12300, München, HRB 6684; WEEE-Reg.-Nr. DE 23691322
_______________________________________________ python-win32 mailing list python-win32@python.org https://mail.python.org/mailman/listinfo/python-win32