2017-08-18 54 views
0

我可以在Excel工作表中设置和删除评论,但无法获取(阅读)现有评论的内容。 xlwings没有它的方法,所以你需要下拉到COM对象。使用pywin32(XLWINGS)如何阅读现有评论的文本?

import xlwings as xw 
wb = xw.Workbook.active() 
xw.Range('A1').api.AddComment('Some Text') 
xw.Range('A1').api.DeleteComment() 
xw.Range('A1').api.AddComment('More Text') 
# Sadness on my best effort so far 
comment_text = xw.Range('A1').api.Comment.Shape.TextFrame.Characters.Text 
+0

这会让您获得单元格的值而不是评论的值。谢谢 – hum3

+0

可能的重复[如何使用python编写excel评论?](https://stackoverflow.com/questions/9729544/how-to-write-excel-comments-using-python) – stovfl

+0

我的问题是阅读评论不写它。 – hum3

回答

0

问题:......你怎么看现有注释的文本?
我的问题是读不写它

不要在链接的标题How to write excel comments using python?打扰自己的评论,应答表现也阅读。在使用实施例是混乱的,因为它显示了通过注释作为返回字符串:

>>> sheet.Range("A1").Comment.Text("Hello World") 
u'Hello World' 

Comment.Text method

returnValue = instance.Text(Text, Start, Overwrite) 

参数
Text类型:System.Object 可选对象。要添加的文本。
Start类型:System.Object 可选对象。添加文本将被放置的字符编号。如果省略此参数,则删除评论中的任何现有文本。
Overwrite类型:System.Object 可选对象。真正覆盖现有文本。默认值为False(插入文本)。
返回值
类型:System.String

由于所有参数可选Text()返回注释文本。

>>> sheet.Range("A1").Comment.Text() 
u'Hello World' 
+0

我仍然做错了,因为它不工作。我需要编写一些测试代码。 – hum3