tipo quitar personalizado modificar los las herramientas graficos grafico formatos formato estilo elementos datos como caracteristicas cambiar agregar excel vba charts ms-word copy-paste

quitar - formatos de grafico personalizado en excel



VBA copia el gráfico de Excel a Word a medida que la imagen cambia el tamaño del gráfico (1)

Sí, eso es todo:

Reemplacé

''insert chart to Bookmark in template doc wd.Selection.PasteSpecial Link:=False, _ DataType:=wdPasteMetafilePicture, _ Placement:=wdInLine, _ DisplayAsIcon:=False

con

wd.Selection.PasteSpecial Link:=False, _ DataType:=wdPasteMetafilePicture, _ Placement:=wdTight, _ DisplayAsIcon:=False

¡De esta manera, el tamaño del gráfico sigue siendo el mismo que en la hoja de Excel!

Quiero crear una macro que copie gráficos de Excel y los pegue en Word como imágenes (preferiblemente metarchivos mejorados).

Configuré un documento de plantilla de Word con una tabla que contiene marcadores en celdas específicas donde las imágenes deben insertarse.

Sin embargo, con mi código actual, la imagen insertada es demasiado grande y arruina toda la mesa. Intenté diferentes opciones de imagen (metarchivo mejorado, png, etc.), pero todas tienen el mismo resultado.

Cuando trato de copiar el gráfico a mano usando PasteSpecial en la tabla, conserva el tamaño original que es exactamente como lo quiero.

¿Qué tengo que cambiar en mi código para obtener eso?

Sub CopyCharts2Word() Dim wd As Object Dim ObjDoc As Object Dim FilePath As String Dim FileName As String FilePath = "C:/Users/Name/Desktop" FileName = "Template.docx" ''check if template document is open in Word, otherwise open it On Error Resume Next Set wd = GetObject (, "Word.Application") If wd Is Nothing Then Set wd = CreateObject("Word.Application") Set ObjDoc = wd.Documents.Open(FilePath & "/" & FileName) Else On Error GoTo notOpen Set ObjDoc = wd.Documents(FileName) GoTo OpenAlready notOpen: Set ObjDoc = wd.Documents.Open(FilePath & "/" & FileName) End If OpenAlready: On Error GoTo 0 ''find Bookmark in template doc wd.Visible = True ObjDoc.Bookmarks("Boomark1").Select ''copy chart from Excel Sheets("Sheet1").ChartObjects("ChartA").chart.ChartArea.Copy ''insert chart to Bookmark in template doc wd.Selection.PasteSpecial Link:=False, _ DataType:=wdPasteMetafilePicture, _ Placement:=wdInLine, _ DisplayAsIcon:=False End Sub