Word VBA에서 코드를 자동으로 저장하고 텍스트가 아닌 텍스트로 된 문서의 이름을 문서로 지정하려고합니다. 다행히 형식화가 표준화되어 있으며 저장 방법을 이미 알고 있습니다. 다른 곳에서 정규식을 테스트하여 내가 찾고있는 것을 끌어낼 수 있는지 확인했습니다. 문제는 일치 된 문을 추출하여 문자열로 변환하고 개체에 저장해야하기 때문에 (문서의 이름을 지정하는 코드에 전달할 항목이 있으므로)VBA 정규식을 사용하여 텍스트를 추출한 다음 문자열로 변수에 저장합니다.
내가 일치 할 필요는 문서의 일부는 라인의 끝을 통해 "프로그램"의 시작부터, 아래이며, 다음과 같습니다
프로그램 : 프로그램 이름 (ABR)
내가 이것을 위해 일한 정규식은 "프로그램 : [^ \ n]"
코드는 내가 지금까지 가지고 있지만, 활성 문서에서 정규식을 실행하는 방법을 모르겠다 변환 문자열로 출력하고 객체에 저장합니다.
Sub RegExProgram()
Dim regEx
Dim pattern As String
Set regEx = CreateObject("VBScript.RegExp")
regEx.IgnoreCase = True
regEx.Global = False
regEx.pattern = "Program\:[^\n]"
(missing code here)
End Sub
어떤 아이디어라도 환영하며, 이것이 간단하다면 나는 유감스럽게 생각합니다. 이것은 내 첫 번째 VBA 프로젝트이며 찾을 수있는 대부분의 리소스는 추출 된 텍스트를 문자열로 저장하지 않고 정규 표현식을 사용하여 대체하는 것이 좋습니다. 고맙습니다!
, 그것을 해결하지 않았다 내 가장 큰 문제는 ... 나는 텍스트를 대체하고 싶지 않아, 나는 그것을 추출하고 문자열로 개체에 저장 싶습니다. 또한 셀 또는 워크 시트 내에서 작업하는 데 Excel을 사용하지 않고 있으므로 regEx.test() 또는 regEx.Execute()를 사용할 때 Word를 사용하므로 참조 할 위치를 알 수 없습니다. – schradera
문자열에있는 "프로그램 이름 (abr)"부분이 문서에 따라 다른 내용이 될 것이라고 가정합니다. –
@Pat_Jones 예, 다를 것입니다. 위의 정규식을 예제 문서와 온라인 정규식 검사기를 사용하여 테스트 한 결과 작동하는 것 같습니다. "프로그램 : ..."에서 줄 끝까지 모든 것을 포착합니다. – schradera