Quisiera alinear a la derecha el primer texto a pegar

Tengo esta macro pero quisiera que se alineara el texto que se pega a la derecha... Pero al ponerle la función no me pega el texto a la derecha

Sub GUARDAR()
On Error Resume Next
Application.ScreenUpdating = False
'Abre word
  Dim num As Variant
  Dim ruta As String
  Dim TEX2 As String, TEX3 As String
  Dim WordApp As Object
  Dim wdDoc As Object
  'Dim WordApp As Word.Application
  'Dim wdDoc As Word.Document
  '
  'Ambiente
  Application.ScreenUpdating = False
  Application.DisplayAlerts = False
    '
  num = Worksheets("Ficha").Range("F2").Value
  ruta = Environ("USERPROFILE") & "\Dropbox\TODAS\"
    '
  'Buscar archivos en la ruta con el número
  archi = Dir(ruta & "*" & num & "*.docx")
 If archi <> "" Then
    'Verifica si el archivo está abierto
    If IsFileOpen(ruta & archi) Then
      Set WordApp = GetObject(, "Word.Application")
      Set wdDoc = WordApp.Documents(ruta & archi)
      WdDoc. Activate
      'CC - 'Quiero que esta parte me la pegue a la derecha
    Sheets("Ficha").Range("F2").Copy
    'Se pegara en el documento lo copiado en la hoja de calculo
    WordApp.Selection.EndKey Unit:=6
    WordApp.Selection.Move 1, 1
    WordApp.Selection.ParagraphFormat.Alignment = wdAlignParagraphRight
    WordApp.Selection.Font.Name = "Century Gothic"
    WordApp.Selection.PasteAndFormat 2
    WordApp.EndKey Unit:=6
      'Titulo fecha - ' Aqui que ya siga pegándola a la izquierda
    Sheets("Ficha"). Range("B10"). Copy
    'Se pegara en el documento lo copiado en la hoja de calculo
    WordApp.Selection.EndKey Unit:=6
    WordApp. Selection.Move 1, 1
    WordApp. Selection. PasteSpecial 7
Else
      Set WordApp = CreateObject("Word.Application")
      Set wdDoc = WordApp.Documents.Open(ruta & archi)
              '
          'CC
    Sheets("Ficha"). Range("F2"). Copy
    'Se pegara en el documento lo copiado en la hoja de calculo
    WordApp.Selection.EndKey Unit:=6
    WordApp. Selection.Move 1, 1
    ' Cambiar el tipo de fuente
    WordApp.Selection.Font.Name = "Century Gothic"
    WordApp.Selection.PasteAndFormat 2
    WordApp.EndKey Unit:=6
        'Titulo fecha
    Sheets("Ficha"). Range("B10"). Copy
    'Se pegara en el documento lo copiado en la hoja de calculo
    WordApp.Selection.EndKey Unit:=6
    WordApp. Selection.Move 1, 1
    WordApp. Selection. PasteSpecial 7
 End If
             WordApp.Documents.Save True
         'Cerrar word
    WordApp. Quit
    Set WordApp = Nothing
     Set wdDoc = Nothing
End Sub

1 Respuesta

Respuesta

Probé tu macro y me funciona. Incluso te preparé un vídeo para que tú hagas el paso a paso y verifiques el proceso

https://youtu.be/oDwmWi9pSG0 


Tienes este detalle dice:

WordApp.EndKey Unit:=6

Debe decir:

WordApp.Selection.EndKey Unit:=6

Y borra esta instrucción:

On Error Resume Next

No es recomendable, porque en caso de error, la macro continúa y no sabrás en dónde tienes el error y cuál es el error.


Anexo la macro completa. (No sé por qué el editor del foro, siempre te borra un "End If", tal vez el editor del foro supone que es una palabra duplicada, en ese caso agregué un par de comentarios).

Sub GUARDAR()
  Application.ScreenUpdating = False
  'Abre word
  Dim num As Variant
  Dim ruta As String
  Dim archi As Variant
  Dim WordApp As Object
  Dim wdDoc As Object
  'Dim WordApp As Word.Application
  'Dim wdDoc As Word.Document
  '
  'Ambiente
  Application.ScreenUpdating = False
  Application.DisplayAlerts = False
  '
  num = Worksheets("Ficha").Range("F2").Value
  ruta = Environ("USERPROFILE") & "\Dropbox\TODAS\"
  'ruta = "C:\trabajo\"
  '
  'Buscar archivos en la ruta con el número
  archi = Dir(ruta & "*" & num & "*.docx")
  If archi <> "" Then
    'Verifica si el archivo está abierto
    If IsFileOpen(ruta & archi) Then
      Set WordApp = GetObject(, "Word.Application")
      Set wdDoc = WordApp.Documents(ruta & archi)
      WdDoc. Activate
      'CC - 'Quiero que esta parte me la pegue a la derecha
      Sheets("Ficha").Range("F2").Copy
      'Se pegara en el documento lo copiado en la hoja de calculo
      WordApp.Selection.EndKey Unit:=6
      WordApp.Selection.Move 1, 1
      WordApp.Selection.ParagraphFormat.Alignment = wdAlignParagraphRight
      WordApp.Selection.Font.Name = "Century Gothic"
      WordApp.Selection.PasteAndFormat 2
      WordApp.Selection.EndKey Unit:=6
      'Titulo fecha - ' Aqui que ya siga pegándola a la izquierda
      Sheets("Ficha"). Range("B10"). Copy
      'Se pegara en el documento lo copiado en la hoja de calculo
      WordApp.Selection.EndKey Unit:=6
      WordApp. Selection.Move 1, 1
      WordApp. Selection. PasteSpecial 7
    Else
      Set WordApp = CreateObject("Word.Application")
      Set wdDoc = WordApp.Documents.Open(ruta & archi)
      '
      'CC
      Sheets("Ficha"). Range("F2"). Copy
      'Se pegara en el documento lo copiado en la hoja de calculo
      WordApp.Selection.EndKey Unit:=6
      WordApp. Selection.Move 1, 1
      ' Cambiar el tipo de fuente
      WordApp.Selection.Font.Name = "Century Gothic"
      WordApp.Selection.PasteAndFormat 2
      WordApp.Selection.EndKey Unit:=6
      'Titulo fecha
      Sheets("Ficha"). Range("B10"). Copy
      'Se pegara en el documento lo copiado en la hoja de calculo
      WordApp.Selection.EndKey Unit:=6
      WordApp. Selection.Move 1, 1
      WordApp. Selection. PasteSpecial 7
    End If 'Fin valida si el archivo está abierto
  End If ' Fin valida si existe el archivo
  '
  WordApp.Documents.Save True
  'Cerrar word
  WordApp.Quit
  Set WordApp = Nothing
  Set wdDoc = Nothing
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas