Saltar al contenido

Renombrar archivo word con macro. titulo en la primera linea


Recommended Posts

Hola! Alguien sabe como puedo crear una macro en word para guardar un documento en pdf cuyo nombre sea la primera linea del word?

el proceso que realizo siempre es: en un documento en blanco nuevo, pego la informacion que quiero y ejecuto una macro, que cambia el formato y otras muchas cosas. ahora quiero completarla guardando el documento en pdf, con el nombre de la primera linea.

he hecho una macro pero el nombre del pdf resultante es siempre el mismo, es decir, no es el de la primera linea.

Alguien puede decirme cómo se hace eso, si se puede?

Muchas gracias.

Enlace a comentario
Compartir con otras webs

  • 3 weeks later...

Prueba con esta macro grabada en word 2007.

Sub Macro1()
'
' Macro1 Macro
'
'
Selection.MoveRight Unit:=wdCharacter, Count:=15, Extend:=wdExtend
Selection.Copy
ActiveDocument.ExportAsFixedFormat OutputFileName:= _
"C:\Documents\LOS INVENCIBLES.pdf", ExportFormat:= _
wdExportFormatPDF, OpenAfterExport:=True, OptimizeFor:= _
wdExportOptimizeForPrint, Range:=wdExportAllDocument, From:=1, To:=1, _
Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, _
CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, _
BitmapMissingFonts:=True, UseISO19005_1:=False
End Sub
[/CODE]

LOS INVENCIBLES.rar

Enlace a comentario
Compartir con otras webs

Muchas gracias Rolano. Lo que pasa es que al ejecutar tu macro el archivo se llama "LOS INVENCIBLES", sea cual sea la primera línea, que es lo q quiero q sea el nombre del archivo.

Explico un poco más. lo que hago es copiar de una web los diálogos de una película en inglés para seguir el dialogo mientras veo la peli. pego en word y por ejemplo cambio el tamaño de la fuente. guardo como pdf en dropbox y así lo tengo en la tablet en un momento.

en la primera línea pongo el título de esa peli, por eso quiero q el nombre del archivo sea distinto cada vez.

si no se puede hacer con una macro, pues no pasa nada x hacerlo manualmente, pero aprovecho ya q estoy aprendiendo macros.

otra vez, gracias!

Enlace a comentario
Compartir con otras webs

Hola camaleon11, dejame verlo mañana, no se por que no funca con este codigo. Haber si tu vez el error.

Sub Macro1()
'
Dim mitexto As String
mitexto = ActiveDocument.Range(Start:=0, End:=15)
'ActiveDocument.Path & “” & ActiveDocument.Name & “.pdf”

ActiveDocument.ExportAsFixedFormat OutputFileName:= _
ActiveDocument.Path & "" & mitexto & ".pdf", ExportFormat:= _
wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:= _
wdExportOptimizeForPrint, Range:=wdExportAllDocument, From:=1, To:=1, _
Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, _
CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, _
BitmapMissingFonts:=True, UseISO19005_1:=False
End Sub
[/CODE]

Enlace a comentario
Compartir con otras webs

Haber ahora creo que ya esta

Sub Macro1()
Dim titulo As Variant
Dim intLineas As Integer

intLineas = ActiveDocument.Characters.Count

For i = 0 To intLineas

Set titulo = ActiveDocument.Range(Start:=0, End:=i)

Next i

titulo = Replace(titulo, Chr(13), "")

ActiveDocument.ExportAsFixedFormat OutputFileName:= _
ActiveDocument.Path & "\" & titulo & ".pdf", ExportFormat:= _
wdExportFormatPDF, OpenAfterExport:=True, OptimizeFor:= _
wdExportOptimizeForPrint, Range:=wdExportAllDocument, From:=1, To:=1, _
Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, _
CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, _
BitmapMissingFonts:=True, UseISO19005_1:=False

'ActiveDocument.Path & “” & ActiveDocument.Name & “.pdf”


End Sub[/CODE]

Enlace a comentario
Compartir con otras webs

Hola [uSER=183348]@camaleon11[/uSER], he estado leyendo tu tema, creo que tu tienes un título en word pero tambien hay parrafos. esta macro coge la primera linea del documento.

Sub GrabarApdf()
Dim titulo As Variant
Dim intLineas As Integer

Selection.HomeKey wdStory
intLineas = Selection.HomeKey & Selection.EndKey

For i = 0 To intLineas

Set titulo = ActiveDocument.Range(Start:=0, End:=i)

Next i

titulo = Replace(titulo, Chr(13), "")

ActiveDocument.ExportAsFixedFormat OutputFileName:= _
ActiveDocument.Path & "\" & titulo & ".pdf", ExportFormat:= _
wdExportFormatPDF, OpenAfterExport:=True, OptimizeFor:= _
wdExportOptimizeForPrint, Range:=wdExportAllDocument, From:=1, To:=1, _
Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, _
CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, _
BitmapMissingFonts:=True, UseISO19005_1:=False

'ActiveDocument.Path & “” & ActiveDocument.Name & “.pdf”

End Sub[/CODE]

Enlace a comentario
Compartir con otras webs

Gracias Rolano! Ahora ya funciona perfectamente. He tenido que cambiar alguna cosa. En lugar de

ActiveDocument.Path & "\" & titulo & ".pdf" he puesto la direccion donde quiero enviar el documento. Al guardar en dropbox me sale directamente en la tablet. Al final queda así:

Sub GrabarApdf()

Dim titulo As Variant

Dim intLineas As Integer

Selection.HomeKey wdStory

intLineas = Selection.HomeKey & Selection.EndKey

For i = 0 To intLineas

Set titulo = ActiveDocument.Range(Start:=0, End:=i)

Next i

titulo = Replace(titulo, Chr(13), "")

ActiveDocument.ExportAsFixedFormat OutputFileName:= _

"C:\Users\Alex14\Dropbox\" & titulo & ".pdf", ExportFormat:= _

wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:= _

wdExportOptimizeForPrint, Range:=wdExportAllDocument, From:=1, To:=1, _

Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, _

CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, _

BitmapMissingFonts:=True, UseISO19005_1:=False

ChangeFileOpenDirectory "C:\Users\Alex14\Dropbox\"

End Sub

Enlace a comentario
Compartir con otras webs

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

  • 96 ¿Te parecen útiles los tips de las funciones? (ver tema completo)

    1. 1. ¿Te parecen útiles los tips de las funciones?


      • No
      • Ni me he fijado en ellos

  • Ayúdanos a mejorar la comunidad

    • Donaciones recibidas este mes: 0.00 EUR
      Objetivo: 130.00 EUR
  • Archivos

  • Estadísticas de descargas

    • Archivos
      177
    • Comentarios
      90
    • Revisiones
      27

  • Crear macros Excel

  • Mensajes

    • Hola buenas tardes. En una hoja plantilla donde realizo diferentes consultas de datos. tengo ya establecido dos formulas diferentes con función SI y buscar. estos buscan diferentes rangos de datos y recibendiferentes resultados. Cada formula varia según una palabra o numero  ejemplo si pongo Xl pone la formula 1 y si pongo cualquier numero entre 1 y 3 pone la segunda formula. Lo que necesito hacer es que si en una celda de la columna B3 pongo XL debería de considerar la formula 1 y si pusiera el numero 1 me pondría la segunda formula, dentro de la misma formula. Ya agregue la función SI($C3="Xl",Formula1.. Pero no me funciona, espero me puedan ayudar.   Muchas gracias Mariano   Formula doble si en celda existe.xlsx
    • Sub control2558() Application.ScreenUpdating = False Dim I As Integer I = 4 While Sheets("FT-ADF-2558").Cells(I, 102) <> "" Sheets("FT-ADF-2558").Cells(6, 82) = Sheets("FT-ADF-2558").Cells(I, 102) Dim NombreArchivo, RutaArchivo As String NombreArchivo = "Hoja Control " & Sheets("FT-ADF-2558").Cells(I, 102) RutaArchivo = ActiveWorkbook.Path & "\" & NombreArchivo & ".xlsm" Dim NuevoLibro As Workbook Set NuevoLibro = Workbooks.Add Sheets("FT-ADF-2558").Copy Before:=NuevoLibro.Sheets(1) NuevoLibro.SaveAs Filename:=RutaArchivo NuevoLibro.Close I = I + 1 Wend MsgBox ("Proceso generado con éxito") Application.ScreenUpdating = True End Sub  
    • Ese error es porque no existe la hoja 10 con ese nombre, entonces cámbialo por FT-ADF-2558
    • Hola, gracias. No se ejecuta...   sale esto: se ha producido el error "424"  en tiempo de ejecución. Se requiere un objeto   Le doy en depurar y me sale en amarillo esta parte  While Hoja10.Cells(I, 102) <> ""        
    • Hola Israel,   Muchísimas gracias por tu consejo. Te comento como me funcionó. Yo tengo un libro Excel con 1.000.000 de filas  y 7 columnas. Si mantengo apretado las teclas Ctrl+Shift+Flecha abajo, me selecciona todos los datos. de la hoja. Pero como me dijiste que una celda vacía rompe la selección, lo que hice fue insertar una fila vacía bajo la última fila que me interesa copiar, selecciono la fila superior con las columnas que me interesa copiar, luego apretando las teclas Ctrl + Shift y luego dando un solo clic en la tecla Flecha hacia abajo, me selecciona los datos hasta la fila vacía. Tema resuelto, nuevamente muchísimas gracias. Lamento haber aprendido esta operación tan tarde.   Saludos, Israel    Betomil
  • Visualizado recientemente

    • No hay usuarios registrado para ver esta página.
×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.