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
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
Hoja de excel Rutas