如何使用python仅加粗excel单元格中字符串的一部分

如何使用python仅加粗excel单元格中字符串的一部分,python,excel,formatting,win32com,Python,Excel,Formatting,Win32com,我正在使用win32com填写一份excel电子表格,其中包含一些分析信息。我有一个单元格,我想用这种形式: 这是问题描述:这是您运行以修复它的命令 我似乎不知道如何使用混合格式的python将文本放入单元格 import win32com.client as win32 excel = win32.gencache.EnsureDispatch('Excel.Application') wb = excel.Workbooks.Add() ws = wb.Worksheets("Sheet1"

我正在使用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
selection对象有一个Characters属性,但是我找不到关于它的任何文档。我在这里有点不知所措,我需要帮助


谢谢

我终于找到了它,在这里发布,这样我们的堆栈溢出霸主也能得到答案

根据@ron rosenfield,完成此操作的VBA代码如下所示:

Range("A1").Characters(2,5).Font.Bold = true 
同样,excel工作表的范围也有一个Characters对象属性

>>> ws.Range("A1").Characters
<win32com.gen_py.Microsoft Excel 14.0 Object Library.Characters 967192>

您可以使用此命令在事件发生后更新单元格中字符的粗体。

尽管您在问题的正文中寻找win32com解决方案,但我将为通过标题来到这里的任何人指出,在Python中,使用XlsxWriter也可以实现这一点

:


我。。。我甚至不知道Excel能够像这样混合格式…当然是:嗯。以前不是。@DerekChadwell,您使用的是哪个excel版本?office 2010套件的一部分:版本14.0.6123.5001(32位)
ws.Range("A1").GetCharacters(2,4).Font.Bold = True