2017-02-09 22 views
1

У меня есть скрипт VBA, который импортирует данные таблицы из слова для доступа. Работает нормально, но в моем AccessTable, в каждом поле @ каждый столбец, скрипты добавляют «Черную точку» в конце моих импортированных данных. Также, когда поле таблицы было пустым.Word Tables import to Access - добавление дополнительного символа

Мои данные выглядят так: «31.12.2106» в Word и «31.12.2016 *» в Access.

Все идеи?

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 

ответ

1

Text диапазона ячеек Слово заканчивается Chr (7), то BEL символ, который служит в качестве конечной ячейки символа. Заменить все вхождения этого:

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

с этим:

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

Этого должно быть достаточно.

 Смежные вопросы

  • Нет связанных вопросов^_^