2017-04-20 2 views
0

ich Zugriff bin mit ein paar Tabellen in Word zu bearbeiten, öffnet der Code das Dokument, fügt X Menge von Zeilen und fügt Daten:Bearbeiten von Worttabelle aus dem Zugriff, Fehler 462

On Error Resume Next 
Error.Clear 
Set appword = GetObject(, "Word.Application") 
If appword Is Nothing Then 
Set appword = New Word.Application 
appword.Visible = True 

End If 
appword.Visible = True 
Set doc = appword.Documents.Open(wordName, , False) 

Set objTable = doc.Tables(1) 
objTable.Rows(3).Select 
Selection.InsertRowsBelow (aRows) 

Das ist ziemlich viel es Es gibt auch einen Code, um Daten in verschiedene Spalten einzufügen. Das Problem ist jedoch, das erste Mal, wenn ich diesen Code ausführen funktioniert es wie ein Charme, fügt die richtige Menge an Zeilen und fügt Daten ein. Es erreicht das Ende des Codeblocks und hängt nicht.

Allerdings, wenn ich versuchen Sie es erneut um den Code auszuführen, stürzt am:

Selection.InsertRowsBelow (aRows) 

und wirft den 462 Fehler Ich habe einige Lesung getan, und ich verstehe Art, was geschieht, aber ich bin mit einem Verlust, wie man es korrigiert. (aRows hier ist eine Ganzzahl, der Wert wird als korrekt überprüft).

+0

Ich vermute: das Dokument schließen und appword auf Nothing an der Unterseite der Logik gesetzt. – nicomp

+0

Ja das war mein erster Instinkt auch, aber es bleibt das Problem bestehen. Es funktioniert aber, wenn ich das Projekt zurücksetze, gibt es dann irgendwelche Hinweise? – Arne

+0

Achten Sie darauf, einen 'doc.Close' zu ​​machen. Was ist 'aRows'? –

Antwort

0

es wird gelöst durch eine Änderung:

Selection.InsertRowsBelow(<Integer>) 

zu

doc.ActiveDocument.Selection.InsertRowsBelow(<Integer>) 
Verwandte Themen