Saltar al contenido

Error 4601 desde Excel a Word


Recommended Posts

publicado

Hola, estoy realizando el traspaso de una tabla de excel a word, con un formato establecido y que contenga todos los valores de la hoja.. sin embargo he tenido problemas con poder guardarla donde deseo ya que solo me expulsa  finaliza la macro pero no lo guarda donde se necesita y ahora ultimo me lanza el "error 4602":  No se puede activar la aplicación, en la fila: .Activate '

Leí por ahí que hay que habilitar referencias, tengo windows10 y  la verdad mi conocimiento de vba es básico, ya que he aprendido por mi cuenta estos últimos meses.. si alguien me pudiera ayudar con que referencias habilitar o deshabilitar se lo agradecería mucho.

 

Por otro lado si pudieran decirme en que estoy fallando para que el archivo word expulsado desde la macro se pueda guardar en donde deseo también se los agradecería ya que he intentado todo y nada me ha funcionado para que se guarde en la carpeta deseada . La macro que uso es la siguiente

 

 

Sub PasarTabla()


Application.ScreenUpdating = False

Application.DisplayAlerts = False

 

Sheets("ConfigX (1)").Select

If ActiveSheet.Name = "ConfigX (1)" Then

Dim WordApp As Object
Dim ruta, nombre, direc As String
Dim b, mc As String

Set WordApp = CreateObject("Word.Application")

ruta = ThisWorkbook.Path
myfile = ThisWorkbook.Sheets("Rutas").Range("C6").Text
direc = ThisWorkbook.Sheets("Rutas").Range("C6").Text
nombre = "ConfigX (1)"


b = Sheets("ConfigX (1)").Select

mc = Sheets("ConfigX (1)").UsedRange.Address(False, False)
Range(mc).Select


Debug.Print mc

Sheets("ConfigX (1)").Select

 

'Inicio Formato de tabla 

    Columns("A:A").ColumnWidth = 10
    Columns("B:B").ColumnWidth = 28
    Columns("C:C").ColumnWidth = 4
    Columns("D:D").ColumnWidth = 30
    
    
    With Selection
        .HorizontalAlignment = xlGeneral
        .VerticalAlignment = xlBottom
        .WrapText = True
        .Orientation = 0
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
    End With
    
    Range(mc).Select
    
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    
  With Selection.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeRight)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlInsideVertical)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlInsideHorizontal)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With

'Termino Formato Tabla 
 

  
Sheets("ConfigX (1)").Range(mc).Copy

With WordApp
'Con este codigo se abrira Word y se creara un documento nuevo
.Visible = True
.Activate
.Documents.Add
End With
 
WordApp.Selection.PasteSpecial Link:=True
'Se pegara en el documento lo seleccionado en la hoja de calculo

Set WordApp = Nothing

   
    objWord.ActiveDocument.SaveAs2 Filename:=direc & "\" & nombre & ".docx", FileFormat:=wdFormatDocumentDefault
    

Application.ScreenUpdating = True
Application.DisplayAlerts = True

Else
End If


End Sub
 

image.thumb.png.f0287aae325e5d89e7b8eaf1d00edc2d.png

Hoja de excel Rutas

publicado

Hola, y alguna  macro que me permita guardar la tabla en un carpeta especifica, estaba ocupando esta linea de programación:

Cita

objWord.ActiveDocument.SaveAs2 Filename:=direc & "\" & nombre & ".docx", FileFormat:=wdFormatDocumentDefault

 

Pero no me guarda en ninguna parte.. la macro expulsa la tabla de excel en word, pero nada mas.. debo guardar el documento de forma manual

En 26/6/2020 at 12:54 , AndreaSys dijo:

uta = ThisWorkbook.Path
myfile = ThisWorkbook.Sheets("Rutas").Range("C6").Text
direc = ThisWorkbook.Sheets("Rutas").Range("C6").Text
nombre = "ConfigX (1)"

 

en esta parte de la macro se supone que coloco la dirección donde deseo que se guarde pero no lo guarda y las direcciones estan en la imagen que coloque... antes la macro me guardaba el archivo y ahora no reacciona a nada!.

Me podrías ayudar con esto? Te lo agradeciera.

 

PD= Revise tu blog y active la referencia que no tenia activa! gracias.  

publicado

Hola nuevamente

Borra esta línea:

Set WordApp = Nothing

Y modifica así esta:

Wordapp.ActiveDocument.SaveAs2 Filename:=direc & "\" & nombre & ".docx", FileFormat:=wdFormatDocumentDefault

Saludos

Archivado

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

×
×
  • 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.