以下是由其他人修改將文本更改爲判例(大寫的每個句子的第一個字母)的功能。該函數很好地工作,除了不使第一個字的第一個字母大寫。另一個問題是,如果一個句子全部輸入大寫,該函數什麼都不做。我正在尋找一些幫助來調整功能來糾正這些問題。Excel VBA判刑案件功能需要微調
Option Explicit
Function ProperCaps(strIn As String) As String
Dim objRegex As Object
Dim objRegMC As Object
Dim objRegM As Object
Set objRegex = CreateObject("vbscript.regexp")
strIn = LCase$(strIn)
With objRegex
.Global = True
.ignoreCase = True
.Pattern = "(^|[\.\?\!\r\t]\s?)([a-z])"
If .test(strIn) Then
Set objRegMC = .Execute(strIn)
For Each objRegM In objRegMC
Mid$(strIn, objRegM.firstindex + 1, objRegM.Length) = UCase$(objRegM)
Next
End If
End With
ProperCaps = strIn
End Function
感謝, 加里
這從您的語句似乎是矛盾的:「該功能很好地工作,除了它不大寫第一個單詞的第一個字母」是不是「把第一個字的第一個字母大寫」與「大寫的每個句子的第一個字母」相同?如果它無法執行預期的基本操作,它如何能很好地工作? – David
好吧,它確實有一些缺陷,我正在尋求幫助來糾正它。你能幫我嗎? – zoom38