2017-10-12 1 views
-5

So für Hintergrund, ich bekomme eine Excel-Arbeitsmappe von einer anderen Abteilung, die voll von Informationen für ein bestimmtes Konto, das ich dann nehme und bestimmte Teile verwenden, um Grafiken in Word zu erstellen. Gibt es eine Möglichkeit, ein Makro zu erstellen, was die Daten von Ex holen würde? C22: H34, in ein Template-Word-Dokument einfügen und möglicherweise auch die Graphen automatisch füllen? Ich möchte es zu einem Prozess machen, den ich an andere Menschen weitergeben kann, also ist es umso besser, je einfacher es ausgeführt wird. HierGrafik Teil der Excel-Tabelle in Word mit einem Makro

ist, was ich habe

Sub AutoNew() 
' 
' AutoNew Macro 
' 
' 
Dim xlapp As Object 
Dim xlbook As Object 
Dim xlsheet As Object 
Dim bstartApp As Boolean 
Dim i As Long 
On Error Resume Next 
Set xlapp = GetObject(, "Excel.Application") 
If Err Then 
    bstartApp = True 
    Set xlapp = CreateObject("Excel.Application") 
End If 
On Error GoTo 0 
Set xlbook = xlapp.Workbooks.Open("C:\Users\MattsonC\Documents\work\Copy of 
3202_2018_Renewal Rate Workbook v2 EDIT.xlsx") 
Set xlsheet = xlbook.Sheets(1) 
With xlsheet.Range("A1") 
    For i = 1 To .CurrentRegion.Rows.Count - 1 
     ActiveDocument.Variables(.Offset(i, 0)).Value = .Offset(i, 2) 
    Next i 
End With 
xlbook.Close 
If bstartApp = True Then 
    xlapp.Quit 
End If 
Set xlapp = Nothing 
Set xlbook = Nothing 
Set xlsheet = Nothing 
ActiveDocument.Range.Fields.Update 
End Sub 

ich Variablen haben getan wie {DOCVARIABLE LLY} in allen Orten, die ich Daten wollen in der Vorlage gehen, und umbenannt die Zellen in Excel mit den gleichen Variablennamen.

Ich kann keine Ausgabe in meinem Word-Dokument, irgendwelche Vorschläge passieren?

Vielen Dank!

+3

Ja, es kann gemacht werden, aber kannst du uns bitte zeigen, was du zuerst selbst versucht hast? – dwirony

+0

Und welchen Fehler bekommen Sie in dieser Zeile? – dwirony

+0

Haben Sie versucht, die 'Sheets'-Sammlung zu verwenden, d. H.' Set xlsheet = xlbook.Sheets (1) '? – YowE3K

Antwort

0

gehen zurück zum Anfang

eine Dokumentvariable in einem neuen Word-Dokument einfügen mit folgenden Sequenz (Wort 2016)

insert tab … text … quick parts … field … categories: document automation … field names: docVariable … put in variable name xxxx 

dann diesen Code ausführen

Sub aaa() 

    'ActiveWindow.View.ShowFieldCodes = Not ActiveWindow.View.ShowFieldCodes ' toggle field code view 
    Stop 
    ActiveWindow.View.ShowFieldCodes = True 
    Stop 
    ActiveWindow.View.ShowFieldCodes = False 

    ActiveDocument.Variables("xxxx").Value = "abc123" 
    ActiveDocument.Range.Fields.Update 

    Stop 

    ActiveDocument.Variables("xxxx") = "xyz987" 
    ActiveDocument.Fields.Update 

End Sub 

, ob das funktioniert , dann benutze den Code mit dem Dokument, mit dem du Probleme hast, und finde heraus, ob deine Feldnamen so sind, wie du denkst, sie sind

Verwandte Themen