2017-02-09 3 views
1

Ich habe ein VBA-Skript, das Tabellendaten aus dem Word zu importieren importiert. Funktioniert gut, aber in meiner AccessTable, in jedem Feld @ jeder Spalte, fügt das Skript einen "schwarzen Punkt" am Ende meiner importierten Daten hinzu. Auch wenn das Tabellenfeld leer war.Word-Tabellen importieren in Access - Hinzufügen von zusätzlichen Zeichen

Meine Daten sieht wie folgt aus: "31.12.2106" in Word und "31.12.2016 *" in Access.

Wer Ideen?

For i = 5 To CountTables 
With doc.Tables(i) 
     With rst 
      .AddNew 'Neuen Eintrag in die Tabelle schreiben 
       ![xx1] = xx 
       ![xx2] = xx1 
       ![xx3] = xx2 
       ![SystemNr] = SystemNr 
       ![xx4] = xx4 
       ![xx5] = xx5 
       ![Scope] = doc.Tables(i).Cell(1, 2).Range.Text 
       ![Action] = doc.Tables(i).Cell(2, 1).Range.Text 
       ![xx6] = doc.Tables(i).Cell(5, 1).Range.Text 
       ![ActionReference] = doc.Tables(i).Cell(7, 1).Range.Text 
       ![RelatedDatabases] = doc.Tables(i).Cell(9, 1).Range.Text 
       ![xx7] = doc.Tables(i).Cell(11, 1).Range.Text 
       ![xx8] = doc.Tables(1).Cell(13, 1).Range.Text 
       ![Result] = doc.Tables(i).Cell(15, 1).Range.Text 
       ![xx9-Nr] = doc.Tables(i).Cell(17, 1).Range.Text 
      .Update 'Tabelle updaten 
     End With 
End With 
Next 

Antwort

1

Die Text eines Word-Zellenbereich endet mit Chr (7), der BEL Zeichen, das als Zellendezeichen dient. Ersetzen alle Vorkommen dieses:

doc.Tables(i).Cell(x, y).Range.Text 

mit diesem:

Replace(doc.Tables(i).Cell(x, y).Range.Text, Chr(7),"") 

Dies sollte ausreichen.

Verwandte Themen