2010-06-04 5 views
1

많은 사람들이 테이블에서 테이블을 만들면 모든 테이블에서 탭이 일치 할 것으로 기대할 수 없기 때문에 이상한 형식의 테이블이 있습니다. 나는, 11 행으로 2 COLS ...하지만 난Word 2007 - 일관성없는 탭이있는 텍스트를 테이블로 변환하려면 어떻게해야합니까?

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** 

현재 열 수와 행에 대해 관심이 없었어요 매크로를 싶습니다

예를 들어 ... 나는이 테이블이 이 매크로를 가지고있다

나는 탭 구분 기호를 시도했다 ... 그러나 둘 다 비슷한 결과를 준다. 새 공백 문자가 발생할 때마다 새 열을 만듭니다. 내가 원한 것은 모든 공백을 무시하고 텍스트가 나올 때마다 새 셀을 만들고 \ n 또는 \ r이 발생할 때마다 새 행을 만드는 것입니다.

그리고 모든 테이블이 데이터와 동일한 수의 열 머리글을 포함한다고 보장 할 수 없기 때문에 원본 의사 테이블의 텍스트에서 두 번째 또는 세 번째 행으로 열 수를 결정해야한다고 생각합니다.

답변

1

DerNalia, 이것은 정규식을 요구합니다. Office VBA 편집기에서 Microsoft VBScript Regular Expressions 5.5에 대한 참조를 추가하십시오. Image of VBA references http://wbtn.net/~david/vba-regex.png

그런 다음 Regex 개체를 사용하여 Regex 개체를 사용하여 하나의 탭만있는 여러 개의 인스턴스를 모두 바꿉니다. 그런 다음 ConvertToTable 명령을 일반적인 것처럼 사용할 수 있습니다.

+0

놀랍습니다 ...하지만 텍스트가 시작되기 전에 공백을 무시하는 방법을 알아야합니다. =/ – NullVoxPopuli

+0

왜 정규식입니까? 매크로 레코더를 사용하여 Word 매크로를 기록하여 탭 탭을 찾고 탭으로 바꿀 수 있습니다. – Fionnuala

+0

왜냐하면 나는 과 같은 행을 가지고 있기 때문에 ** 데이터 ** 탭 탭 ** 데이터 ** 탭 ** 데이터 ** 탭 탭 ** 데이터 ** 첫 번째 공백을 제거하고 바꾸려면 정규 표현식이 필요합니다. 나머지는 쉼표로 ... 새로운 질문을위한 시간. 링크 : http://stackoverflow.com/questions/2975490/using-regex-to-remove-the-first-occurrence-of-white-space-and-then-replace-the-re – NullVoxPopuli

관련 문제