2016-07-20 12 views
0
Private Sub Document_Open() 
    Dim objExcel As Object 
    Dim FileName As String 
    Dim cc As ContentControl 

    FileName = "Z:\" & "\Data.xlsx" 
    Set objExcel = CreateObject("Excel.Application") 
    Set exWb = objExcel.Workbooks.Open(FileName) 

    For Each cc In ActiveDocument.SelectContentControlsByTag("Name") 
     cc.Range.Text = exWb.Sheets("4").Cells(1, 2) 
    Next 

    exWb.Close 
    Set exWb = Nothing 
End Sub 

Die Datei wird gespeichert als Wort-Vorlage mit Makros so einen Doppelklick auf sie erstellt eine neue Datei namens Document1 aber das Makro tut Öffnen nicht scheinbar ausgeführt, weil das Inhaltssteuerelement leer ist. Allerdings, wenn ich den gleichen Code über „Makros“ (unter Developer) laufen, füllt das Formular aus.Ich kann das Makro läuft nicht erhalten, wenn ein Dokument

Antwort

1

Ich fand, dass es Document_New statt Document_Open

Private Sub Document_New() 
    Dim objExcel As Object 
    Dim FileName As String 
    Dim cc As ContentControl 

    FileName = "Z:\" & "\Data.xlsx" 
    Set objExcel = CreateObject("Excel.Application") 
    Set exWb = objExcel.Workbooks.Open(FileName) 

    For Each cc In ActiveDocument.SelectContentControlsByTag("Name") 
     cc.Range.Text = exWb.Sheets("4").Cells(1, 2) 
    Next 

    exWb.Close 
    Set exWb = Nothing 
End Sub 
Verwandte Themen