https://cafe.naver.com/excelmaster/164935 에 올라온 질문입니다.
특정 단어가 포함된 문장을 출력하는 내용입니다.
정규식을 이용해 문장을 추출한 후 문장을 순환하며 단어를 골라내는 흐름입니다.
Option Explicit Function FindText(MySub As String, MyText As String) As String Dim i As Integer Dim v As Variant '문장 단위로 끊음 v = GetText(MySub) '단어가 포함된 문장 추출 For i = 0 To UBound(v) + 1 If InStr(1, v(i), MyText, vbTextCompare) Then FindText = v(i) Exit Function End If Next End Function Function GetText(tmp As String) As Variant '정규식을 활용하여 마침표, 물음표, 느낌표 기준으로 문장을 끊어주는 사용자정의 함수입니다. Dim Matches As Object Dim i As Integer Dim v() As String With CreateObject("Vbscript.regexp") .Global = True .ignorecase = True .Pattern = "(.+?[.?!])" '마침표, 물음표, 느낌표로 문장 단위로 나눕니다. If .test(tmp) Then Set Matches = .Execute(tmp) ReDim v(Matches.Count - 1) For i = 0 To UBound(v) v(i) = Trim(Matches(i)) Next GetText = v End If End With End Function | cs |
'VB(A)' 카테고리의 다른 글
경품 추첨 (8) | 2019.06.26 |
---|---|
여러 개의 텍스트박스를 클릭하여 이름 알아내기 (0) | 2019.06.17 |
도형 이름을 활용하여 도형 클릭시 해당 셀로 이동하기 (0) | 2019.04.01 |
파일 오픈 여부 판단하기 (0) | 2019.03.20 |
UTF-8 형식의 텍스트파일 불러오기 (0) | 2019.03.19 |