Word 2007 - Как преобразовать текст с несогласованными табуляциями в таблицу? - PullRequest
1 голос
/ 04 июня 2010

У меня есть целая куча таблиц, которые были странно отформатированы, потому что, когда кучка людей делает таблицы из вкладок, нельзя ожидать, что вкладки будут согласованными на всех них.

Например ... У меня есть эта таблица: 2 столбца на 11 строк ... но я бы хотел макрос, который не заботился о количестве столбцов и строк

space space space **column header** tab tab tab tab **column header**
tab **data** tab tab tab **data** tab tab
tab **data** tab tab **data**
tab **data** tab tab tab tab **data**
tab **data** tab tab **data**

В настоящее время у меня есть этот макрос

Sub ConvertTextToATable()

     Selection.ConvertToTable Separator:=wdWhite, AutoFitBehavior:=wdAutoFitFixed

End Sub

Я пробовал разделитель табуляции ... но оба дают схожие результаты. Он создает новый столбец каждый раз, когда встречается новый символ пробела. Мне нужно игнорировать все пробелы, создавать новую ячейку каждый раз, когда встречается текст, и создавать новую строку каждый раз, когда встречаются \ n или \ r.

И поскольку я не могу гарантировать, что каждая таблица с таким же количеством заголовков столбцов, что и данные, я думаю, что число столбцов должно определяться второй или третьей строкой в ​​тексте исходной псевдот таблицы. *

1 Ответ

1 голос
/ 04 июня 2010

DerNalia, это требует регулярного выражения. Добавьте ссылку на Microsoft VBScript Regular Expressions 5.5 в свой редактор Office VBA: Изображение ссылок VBA http://wbtn.net/~david/vba-regex.png

Затем в своем макросе используйте объекты Regex, чтобы заменить все несколько экземпляров вкладки только одной вкладкой. Затем вы можете использовать вашу команду ConvertToTable как обычно.

...