Rocael Recinos

All generations.

generate functionThu, 01 Jun 2023

Insertar comentario en archivo docx (Word) la primera vez que encuentre la palabra Licenciatura. La ruta de archivo es esta: C:\Users\Usuario dell\Downloads\prueba_comentario.docx

import docx import re doc = docx.Document("C:\\Users\\Usuario dell\\Downloads\\prueba_comentario.docx") for run in doc.paragraphs[0].runs: text=run.text if re.search('Licenciatura', text): #text = re.sub('Licenciatura', '*****', text) run.text=text comment = doc.add_comment("Aquí va el comentario", "Alex") run.add_comment(comment) #doc.save("C:\\Users\\Usuario dell\\Downloads\\prueba_comentario.docx") doc.save("C:\\Users\\Usuario dell\\Downloads\\prueba_comentario.docx")

Python
View
generate functionThu, 01 Jun 2023

Insertar comentarios en un archivo de Word desde código Python.

import docx from docx import Document import os import re def insertar_comentario(archivo_original,archivo_nuevo,comentario): documento_word = Document(archivo_original) for p in documento_word.paragraphs: if re.search('\[\[.*\]\]',p.text): lista_palabras = p.text.split() indice = 0 for w in lista_palabras: if re.search('\[\[.*\]\]',w): num_comentario = len(documento_word.comments) comentario_word = documento_word.add_comment("Comentario número %d" % num_comentario, range = w) documento_word.save(archivo_nuevo) break indice += 1 return 0

Python
View
generate functionThu, 01 Jun 2023

Ejecuté este código que me diste: import win32com.client from win32com.client import constants from pathlib import Path filepath = Path("C:\\Users\\Usuario dell\\Downloads\\prueba_comentario.docx") word = win32com.client.Dispatch("Word.Application") word.Visible = True doc = word.Documents.Open(filepath) range = doc.Range() range.Find.Text = "de" range.Find.Forward = False range.Find.Wrap = 1 range.Find.Execute() if range.Find.Found: print("YES") comment = range.Comments.Add(range, "Prueba") comment.Range.Text = "Prueba 2" comment.Range.Font.Name = "Tahoma" comment.Range.Font.Size = 10 else: print("NO") doc.SaveAs("C:\\Users\\Usuario dell\\Downloads\\prueba_comentario2.docx") Obtuve esta respuesta de Python: Traceback (most recent call last): File "c:\Users\Usuario dell\Desktop\# # For complete examples and data files.py", line 10, in <module> doc = word.Documents.Open(filepath) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "<COMObject <unknown>>", line 5, in Open pywintypes.com_error: (-2147352571, 'Los tipos no coinciden.', None, 1) Obtuve el mismo error.

import win32com.client from win32com.client import constants from pathlib import Path filepath = Path("C:\\Users\\Usuario dell\\Downloads\\prueba_comentario.docx") word = win32com.client.Dispatch("Word.Application") word.Visible = True doc = word.Documents.Open(filepath) range = doc.Range() range.Find.Text = "de" range.Find.Forward = False range.Find.Wrap = 1 range.Find.Execute() if range.Find.Found: print("YES") comment = range.Comments.Add(range, "Prueba") comment.Range.Text = "Prueba 2" comment.Range.Font.Name = "Tahoma" comment.Range.Font.Size = 10 else: print("NO") doc.SaveAs("C:\\Users\\Usuario dell\\Downloads\\prueba_comentario2.docx")

Python
View
generate functionThu, 01 Jun 2023

Insertar comentario en archivo docx (Word) la primera vez que encuentre la palabra Licenciatura. La ruta de archivo es esta: C:\Users\Usuario dell\Downloads\prueba_comentario.docx Crea el archivo, pero no inserta el comentario.

def addComment(): # Open the docx file in read mode document = Document('C:\Usuarios\Usuario dell\Downloads\prueba_comentario.docx') # iterate over all the paragraphs in document for para in document.paragraphs: # check if the Licenciatura word is present in paragraph text if 'Licenciatura' in para.text: # Add the comment in next paragraph comment = para.insert_paragraph_after() comment.add_comment('This is a comment') # Save the docx file document.save('C:\Usuarios\Usuario dell\Downloads\prueba_comentario.docx')

Python
View
generate functionThu, 01 Jun 2023

Ejecuté este código que me diste: import win32com.client from win32com.client import constants from pathlib import Path filepath = Path("C:\\Users\\Usuario dell\\Downloads\\prueba_comentario.docx") word = win32com.client.Dispatch("Word.Application") word.Visible = True doc = word.Documents.Open(filepath) range = doc.Range() range.Find.Text = "de" range.Find.Forward = False range.Find.Wrap = 1 range.Find.Execute() if range.Find.Found: print("YES") comment = range.Comments.Add(range, "Prueba") comment.Range.Text = "Prueba 2" comment.Range.Font.Name = "Tahoma" comment.Range.Font.Size = 10 else: print("NO") doc.SaveAs("C:\\Users\\Usuario dell\\Downloads\\prueba_comentario2.docx") Obtuve esta respuesta de Python: Traceback (most recent call last): File "c:\Users\Usuario dell\Desktop\# # For complete examples and data files.py", line 10, in <module> doc = word.Documents.Open(filepath) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "<COMObject <unknown>>", line 5, in Open pywintypes.com_error: (-2147352571, 'Los tipos no coinciden.', None, 1)

import win32com.client from win32com.client import constants from pathlib import Path filepath = Path("C:\\Users\\Usuario dell\\Downloads\\prueba_comentario.docx") word = win32com.client.Dispatch("Word.Application") word.Visible = True doc = word.Documents.Open(filepath) range = doc.Range() range.Find.Text = "de" range.Find.Forward = False range.Find.Wrap = 1 range.Find.Execute() if range.Find.Found: print("YES") comment = range.Comments.Add(range, "Prueba") comment.Range.Text = "Prueba 2" comment.Range.Font.Name = "Tahoma" comment.Range.Font.Size = 10 else: print("NO") doc.SaveAs("C:\\Users\\Usuario dell\\Downloads\\prueba_comentario2.docx")

Python
View
generate functionThu, 01 Jun 2023

Insertar comentario en archivo docx (Word) la primera vez que encuentre la palabra Licenciatura. La ruta de archivo es esta: C:\Users\Usuario dell\Downloads\prueba_comentario.docx Crea el archivo, pero no inserta el comentario. No funciona.

import win32com.client as win32 word = win32.gencache.EnsureDispatch('Word.Application') word.Visible = True doc = word.Documents.Open('C:\\Users\\Usuario dell\\Downloads\\prueba_comentario.docx') range = doc.Content.Text print(range) for word in range.split(' '): if word == "Licenciatura": word.Comments.Add(word, "Hello World") doc.Save() doc.Close() word.Quit()

Python
View
generate functionThu, 01 Jun 2023

Insertar comentario con Python en un archivo de Word la primera vez que encuentre la palabra: de Guardar el archivo comentado como un archivo nuevo La ruta del archivo es: "C:\Users\Usuario dell\Downloads\prueba_comentario.docx"

import win32com.client from win32com.client import constants from pathlib import Path filepath = Path("C:\\Users\\Usuario dell\\Downloads\\prueba_comentario.docx") word = win32com.client.Dispatch("Word.Application") word.Visible = True doc = word.Documents.Open(filepath) range = doc.Range() range.Find.Text = "de" range.Find.Forward = False range.Find.Wrap = 1 range.Find.Execute() if range.Find.Found: print("YES") comment = range.Comments.Add(range, "Prueba") comment.Range.Text = "Prueba 2" comment.Range.Font.Name = "Tahoma" comment.Range.Font.Size = 10 else: print("NO") doc.SaveAs("C:\\Users\\Usuario dell\\Downloads\\prueba_comentario2.docx")

Python
View

Questions about programming?Chat with your personal AI assistant