2017-08-18 60 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