2017-08-18 3 views
0

Je peux définir et supprimer des commentaires dans une feuille Excel mais je suis incapable d'obtenir (lire) le contenu d'un commentaire existant. xlwings n'a pas de méthode pour cela, vous devez donc descendre dans l'objet com.En utilisant pywin32 (XLWINGS), comment lisez-vous le texte d'un commentaire existant?

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

Cela vous donne la valeur de la cellule et non la valeur du commentaire. Merci quand même – hum3

+0

Possible copie de [Comment écrire des commentaires excel en utilisant python?] (Https://stackoverflow.com/questions/9729544/how-to-write-excel-comments-using-python) – stovfl

+0

Mon problème est de lire le commentaire ne l'écrit pas. – hum3

Répondre

0

Question: ... Comment lire le texte d'un commentaire existant?
Mon problème est en train de lire le commentaire n'écrire

Ne pas vous déranger au titre lié How to write excel comments using python?, la projection de réponse aussi lecture. L'exemple utilisé est source de confusion car il montre le passé Commentaire comme retourné chaîne:

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

Comment.Text method

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

Paramètres
Text Type: System.Object en option objet. Le texte à ajouter
Start Type: System.Object Facultatif Objet. Le numéro de caractère où le texte ajouté sera placé. Si cet argument est omis, tout texte existant dans le commentaire est supprimé.
Type: System.Object Facultatif Objet. True pour remplacer le texte existant. La valeur par défaut est False (le texte est inséré).
Valeur de retour
Type: System.String

Comme tous Paramètre En option, Text() retourner le texte du commentaire.

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

Je fais encore quelque chose de mal car il ne fonctionne pas. J'ai besoin d'écrire un code de test. – hum3