我使用win32com填写带有一些分析信息的Excel电子表格。我有一个我希望以这种形式出现的单元格:
这是问题描述:这是您运行以解决问题的命令
我似乎无法弄清楚如何使用混合格式的python将文本放入单元格中。
import win32com.client as win32
excel = win32.gencache.EnsureDispatch('Excel.Application')
wb = excel.Workbooks.Add()
ws = wb.Worksheets("Sheet1")
excel.Visible=True
sel = excel.Selection
sel.Value = "this is the command you run to fix it"
sel.Font.Bold = True
ws.Cells(1,1).Value = 'This is the problem description' + sel.Value #makes the whole cell bold
ws.Cells(1,1).Value = "{} {}".format("this is the problem desc",sel) #makes the whole cell bold
选择对象有一个Characters属性,但我无法找到有关它的功能的任何文档。我在这里有点不知所措,我可以使用助手。
由于
答案 0 :(得分:4)
我终于找到了它,发布在这里,所以我们的堆栈溢出的霸主也可以得到答案。
Per @ ron-rosenfield,将其关闭的VBA代码如下:
Range("A1").Characters(2,5).Font.Bold = true
同样,excel WorkSheet的Range
还有一个Characters对象属性>>> ws.Range("A1").Characters
<win32com.gen_py.Microsoft Excel 14.0 Object Library.Characters 967192>
但是,使用该对象访问范围所需的方法是GetCharacters(start,length)(索引从excel com方法的常规开始为1)
ws.Range("A1").GetCharacters(2,4).Font.Bold = True
您可以使用此命令在事后更新单元格中的字符粗体。
答案 1 :(得分:1)