Windows 및 Mac에서 작동할 수 있도록 정규식이 포함된 Excel 매크로를 개발하는 방법
저는 다음을 활용하는 Excel 2010 VBA 매크로는VBScript.RegExp제 사용자 중 한 명은 분명히 VBA를 지원하는 Excel Mac 2011을 사용하고 있지만 아닙니다.VBScript.RegExp.
나는 다음을 사용하여 당신만의 ReGEx 기능을 만드는 것이 가능하다고 언급하는 게시물을 여러 번 보았습니다.AppleScriptVBA 매크로에 의해 호출될 수 있습니다.하지만 맥 버전의 엑셀 파일과 윈도우 버전이 있어야 할 것 같습니다.이것은 이상적이지 않습니다.
Windows와 Mac 모두와 호환되는 VBA의 정규식을 구현하는 다른 방법이 있습니까?
유감스럽게도 이에 대한 해결책은 아직 발견되지 않았습니다. 현재 해결 방법은 정규식을 다음과 같은 일련의 식을 단순히 대체하는 것입니다.Replace호출(또는 기타 필수 작업).
셀에서 html 태그를 제거할 때 regexp 라이브러리를 사용하려고 하면 이 문제가 발생했습니다.
질문 내에서 이것이 원하는 용도로 언급되지 않았다는 것을 알고 있지만, Mac Excel 2011 내의 셀 내에서 HTML을 태그에서 제거하기 위해 정규식 함수를 교체하려는 경우 이 사용자 정의 함수가 작동합니다.원작자에게 미안합니다, 저는 그것을 찾았을 뿐 더 이상 출처를 찾을 수 없습니다.
Public Function StripHTML(zDataIn As String) As String
Dim iStart As Integer
Dim iEnd As Integer
Dim iLen As Integer
Do While InStr(zDataIn, "<") > 0
iStart = InStr(zDataIn, "<")
iEnd = InStr(iStart, zDataIn, ">")
iLen = Len(zDataIn)
If iStart = 1 Then
zDataIn = Right(zDataIn, iLen - iEnd)
Else
If iLen = iEnd Then
zDataIn = Left(zDataIn, iStart - 1)
Else
zDataIn = Mid(zDataIn, 1, iStart - 1) & _
Right(zDataIn, iLen - iEnd)
End If
End If
Loop
StripHTML = zDataIn
End Function
99달러를 지불해도 괜찮으시다면, RegExpr에 대한 Aivosto가 있습니다.PC와 Mac VBA 모두에서 실행되어야 하는 순수한 VBA 솔루션인 것 같습니다.
또는 PC와 Mac 모두에 대해 별도의 솔루션을 작성한 다음 컴파일러 지시사항을 사용하여 각 플랫폼에서 실행되는 코드 비트를 구분합니다.
언급URL : https://stackoverflow.com/questions/13995007/how-to-develop-an-excel-macro-that-contains-regular-expressions-so-it-will-work
'programing' 카테고리의 다른 글
| R: 코드 블록 주석 (0) | 2023.06.13 |
|---|---|
| C에서 모듈 시스템 생성(동적 로딩) (0) | 2023.06.08 |
| vue mapGetters가 제 시간에 도착하지 않습니다. (0) | 2023.06.08 |
| Excel 파일을 numpy 2D 어레이에 로드 (0) | 2023.06.08 |
| sqlalchemy의 그룹화 & 카운트 함수 (0) | 2023.06.08 |