能否通过Application.TextStyles32Ex方法获取MS Project单元格的加粗属性?
检测MS Project单元格文本是否加粗的方法
可以通过Application.TextStyles32Ex方法结合单元格的样式索引来判断文本是否加粗,具体操作如下:
- 获取目标单元格的
TextStyle属性值,该值对应文本样式的索引编号 - 调用
Application.TextStyles32Ex(样式索引)获取对应的TextStyle32对象 - 检查该对象的
Font.Bold属性,返回True表示文本加粗,False则未加粗
VBA代码示例
Sub CheckCellBoldStatus() Dim targetCell As Cell Dim styleIndex As Integer Dim cellStyle As TextStyle32 ' 获取当前选中的单元格 Set targetCell = ActiveCell styleIndex = targetCell.TextStyle ' 通过索引获取样式对象 Set cellStyle = Application.TextStyles32Ex(styleIndex) ' 判断并输出结果 Debug.Print "单元格文本是否加粗: " & cellStyle.Font.Bold End Sub
注意事项
- 该方法仅对应用了内置/自定义文本样式的单元格有效。如果是手动直接设置单元格文本加粗(未应用样式),单元格的
TextStyle属性会返回0,此时TextStyles32Ex(0)对应默认样式,无法准确识别手动设置的加粗状态 - 对于手动设置格式的单元格,MS Project对象模型没有提供直接读取格式的属性,暂无简单的原生方法可以检测
内容的提问来源于stack exchange,提问作者Damien Dambre
相关产品推荐
相关产品推荐

