Vba 更改范围文本的大小写并键入

Vba 更改范围文本的大小写并键入,vba,object,split,range,ms-word,Vba,Object,Split,Range,Ms Word,可能的情况是,假设我们创建了一个包含以下行的范围对象: 投机性买入,FV:EGP19.59 现在,我想将Range对象分成两部分,用,作为分隔符,这样给定的范围将变成两个范围,包含投机性买入和FV:EGP19.59两个单独的范围 现在,我需要将仅包含投机性购买的第一个范围的情况更改为投机性购买,使用: .Case=wdTitleWord 之前我使用的是。查找以更改以下代码中的范围这不是完整的代码,因为它只是更改范围R,而不是将其拆分为两个: Sub Range_into_Ranges() se

可能的情况是,假设我们创建了一个包含以下行的范围对象:

投机性买入,FV:EGP19.59

现在,我想将Range对象分成两部分,用,作为分隔符,这样给定的范围将变成两个范围,包含投机性买入和FV:EGP19.59两个单独的范围

现在,我需要将仅包含投机性购买的第一个范围的情况更改为投机性购买,使用:

.Case=wdTitleWord

之前我使用的是。查找以更改以下代码中的范围这不是完整的代码,因为它只是更改范围R,而不是将其拆分为两个:

Sub Range_into_Ranges()

selection.EndKey Unit:=wdLine
selection.MoveUp Unit:=wdParagraph, COUNT:=1, Extend:=wdExtend
Dim R, F As Word.Range
Set R = selection.Range
Set F = R.Duplicate
    With F.Find
    .Text = ", "
    .Forward = True
    .Wrap = wdFindStop
    .Execute
    End With
    If F.Find.Found Then
    R.SetRange Start:=R.Start, _
    End:=F.Start
    R.Case = wdTitleWord
    Else
    End If
End Sub

注:可能有其他方法产生相同的结果。您可以自由地向我建议另一个简单的代码。

您可以使用WdCharacterCase枚举将一个大小写指定给一个范围。关于产权案例:

R.Case = wdTitleWord 
将其放入示例代码的上下文中,如下所示。我做了一些调整:

我的版本假设您希望处理当前选择的段落,这就是我注释掉前两行的原因 在VBA中,您需要声明每个变量的数据类型,否则它就是一个变量。所以:调暗R作为单词范围 VBA提供了分割函数,可以根据分隔符分割字符串。我使用它来获取要搜索的术语,这样您就可以直接获取范围
我发现在设置所有大写字母的文本的标题大小写时,并没有将大写字母减少到小写字母。但首先应用小写,然后是标题,确实有效。 示例代码

Sub Range_into_Ranges()

'    Selection.EndKey Unit:=wdLine
'    Selection.MoveUp Unit:=wdParagraph, Count:=1, Extend:=wdExtend
    Dim R As word.Range, F As word.Range
    Dim sTerm As String, bFound As Boolean

    Set R = Selection.Paragraphs(1).Range
    R.MoveEnd wdCharacter, -1 'Trim off the paragraph mark
    sTerm = R.Text
    sTerm = Split(sTerm, ",")(0)
    Set F = R.Duplicate
    With F.Find
        .Text = sTerm
        .Forward = True
        .wrap = wdFindStop
        bFound = .Execute
    End With
    If bFound Then
        F.Case = wdLowerCase
        F.Case = wdTitleWord
    Else
    End If
End Sub

在设置包含所有大写字母的文本的标题大小写时,不会将大写字母减少为小写字母。但首先应用小写,然后是标题,确实有效。我认为这就是问题所在,而这只是我的旧版本代码无法工作的主要原因。无论如何,谢谢。@IbneAshiq不客气。在提出问题时,它确实有助于提供复制所需的步骤。如果没有示例文本,我就不会找到它!