Es posible abrir un documento word en vb de excel con if y un coincidir

Tengo una macro que me abre un documento especifico de word. Sin embargo, en la condición especifica unicamente un numero. Se podría que ese numero coincida con el nombre del documento:

EJ:

Sub abrir ()

Worksheets("Ficha"). Range("C16"). Columns. AutoFit

'Abre word
If Worksheets("Ficha").Range("F2") = 41792953 Then ------ (el numero 41792..... No sea siempre ese sino que de acuerdo a una celda de excel en la que este x numero sea 45464... O 456465.... Busque el documento en word que  contiene ese numero------)
Set WordApp = CreateObject("word.Application")
WordApp. Documents. Open "C:\Users\Laura\Documents\prueba historia.docx" ---- el documento tendria de nombre PEPITO PEREZ 4545845, y sería que ese numero coincidiera con el de la celda en excel)
WordApp.Visible = True

End sub

No se si estoy ya imaginando mucho, pero ojala se pueda... Tengo otro proceso pero es más tedioso.

1 Respuesta

Respuesta
1

Si es sobre la mima macro, utiliza lo siguiente:

Sub Copiar()
  Dim num As Variant
  Dim ruta As String
  '
  num = Worksheets("Ficha").Range("F2").Value
  ruta = "C:\Users\Laura\Documents\"
  '
  'Buscar archivos en la ruta con el número
  arch = Dir(ruta & "*" & num & "*.docx")
  '
  If arch <> "" Then
    Set WordApp = CreateObject("word.Application")
    'Abre archivo en la ruta y con el número
    WordApp.Documents.Open ruta & arch
    WordApp.Visible = True
    '
    Sheets("Ficha"). Range("C16"). Copy
    WordApp.Selection.EndKey Unit:=6
    WordApp. Selection. PasteSpecial
    WordApp. Documents. Save
    'Cerrar word
    WordApp. Quit
    Set WordApp = Nothing
  End If
End Sub

No olvides valorar las respuestas.

super, sin embargo en la macro me sale un error en 

 Set WordApp = CreateObject("word.Application")
    'Abre archivo en la ruta y con el número
    WordApp.Documents.Open ruta & arch - AQUI MUESTRA EL ERROR
    WordApp.Visible = True

Qué dice el mensaje de error.

Acerca el mouse a la variable ruta y dime qué aparece, lo mismo para la variable arch

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas