Familia de productos de software de procesamiento de texto de Microsoft para crear documentos web, de correo electrónico e impresos.
Por cierto, aquí puedes aprender lo básico sobre macros.
Este explorador ya no se admite.
Actualice a Microsoft Edge para aprovechar las características y actualizaciones de seguridad más recientes, y disponer de soporte técnico.
Tengo unos 2000 subdocumentos en Word, de Office 365, no totalmente normalizados en cuanto a estilos, con al menos una foto por subdocumento, y tengo que agruparlos en un solo documento, por lo que no veo otra solución que crear un "documento maestro", pero veo que es muy tedioso el agregar 2000 direcciones. ¿Qué me aconsejan hacer?, ¿ven alguna otra solución, poara la integración de estos 2000 documentos. Gracias
Familia de productos de software de procesamiento de texto de Microsoft para crear documentos web, de correo electrónico e impresos.
Pregunta bloqueada. Esta pregunta se migró desde la Comunidad de Soporte técnico de Microsoft. Puede votar si es útil, pero no puede agregar comentarios o respuestas ni seguir la pregunta.
Entiendo que es muy difícil, sin conocimientos previos de macros, adaptar y ejecutar la macro. Yo no puedo ayudarte más ahora ni, tampoco, realizar el trabajo.
A ver si esta, en la que he obviado los dos problemas que mencionabas, te resulta más fácil de implementar:
Sub AgregarSubdocumentos()
Dim docMaestro As Document
Dim strFolder As String
Dim strFile As String
' Abre el documento maestro
Set docMaestro = Documents.Open("ruta\documento_maestro.docx")
' Comienza la vista de documento maestro
With docMaestro
.Activate
.ActiveWindow.View.SplitSpecial = wdPaneOutline
.Subdocuments.AddFromRange Selection.Range
End With
' Define la carpeta donde están los subdocumentos
strFolder = "ruta\"
' Obtiene el primer archivo .docx en la carpeta
strFile = Dir(strFolder & "*.docx")
' Agrega los subdocumentos
While strFile <> ""
docMaestro.Subdocuments.AddFromFile strFolder & strFile
' Obtiene el siguiente archivo .docx en la carpeta
strFile = Dir
Wend
' Guarda y cierra el documento maestro
docMaestro.Save
docMaestro.Close
End Sub
En este código, debes reemplazar "ruta\documento_maestro.docx" con la ruta y el nombre de tu documento maestro, y "ruta\" con la ruta de la carpeta donde están tus subdocumentos.
Es la primera vez que me he puesto con Macros de Word y estoy totalmente desbordado. Me he encontrado con algún problema a la hora de trancribir la macro para "INSERTAR SUBDOCUMENTOS" al DOCUMENTO MAESTRO:
De nuevo, mi agradecimiento.
Antes de nada, muchas gracias por su rápida respuesta. Empezaré por grabar la macro, cosa que nunca he hecho, y veremos como avanzamos. Estoy esperanzado en que estas indicaciones me alivien de mi "ansiedad", tengo que entregar una Enciclopedia, con más de 2000 biografías, separadas en 5 capítulos y estoy verdaderamente agobiado. Un saludo
Hola, Faustino:
Adapta esta macro a tus necesidades:
Sub AgregarSubdocumentos()
Dim docMaestro As Document
Dim i As Long
' Abre el documento maestro
Set docMaestro = Documents.Open("ruta\documento_maestro.docx")
' Comienza la vista de documento maestro
With docMaestro
.Activate
.ActiveWindow.View.SplitSpecial = wdPaneOutline
.Subdocuments.AddFromRange Selection.Range
End With
' Agrega los subdocumentos
For i = 1 To 2000
docMaestro.Subdocuments.AddFromFile "ruta\subdocumento" & i & ".docx"
Next i
' Guarda y cierra el documento maestro
docMaestro.Save
docMaestro.Close
End Sub
Por favor, reemplaza "ruta\documento_maestro.docx" con la ruta y el nombre de tu documento maestro, y "ruta\subdocumento" & i & ".docx" con la ruta y el nombre de tus subdocumentos.
Ten en cuenta que este código asume que tus subdocumentos se llaman ‘subdocumento1.docx’, ‘subdocumento2.docx’, etc., hasta ‘subdocumento2000.docx’. Si tus archivos tienen nombres diferentes, deberás ajustar el código para que coincida con tus nombres de archivo.
Además, este código no incluye manejo de errores. Si un archivo no se encuentra o hay un problema al abrir un archivo, la macro se detendrá. Puedes agregar manejo de errores según sea necesario.