Excel VBA Application.Speech.Speak方法:以千为单位读取数字
(使用Excel 2013) 在工作簿中,当Enter键上的Excel VBA Application.Speech.Speak方法:以千为单位读取数字,excel,vba,Excel,Vba,(使用Excel 2013) 在工作簿中,当Enter键上的Speak单元格处于打开状态时,文本到语音的行为似乎如下所示: 对于格式为常规的数字,当您输入1245时,它会将单元格读取为“1245”。如果输入1245,它将读取为“一千二百四十五”,并将单元格格式更改为数字,并勾选使用1000分隔符(,) (如果您将单元格格式化为数字,并清除使用1000分隔符(,)勾选框,在Enter上说出单元格回读“1245”。如果小数位在格式化单元格对话框中等于或大于1,则在Enter上说出单元格读作“一千二百
Speak单元格处于打开状态时,文本到语音的行为似乎如下所示:
对于格式为常规的数字,当您输入1245时,它会将单元格读取为“1245”。如果输入1245,它将读取为“一千二百四十五”,并将单元格格式更改为数字,并勾选使用1000分隔符(,)
(如果您将单元格格式化为数字,并清除使用1000分隔符(,)
勾选框,在Enter上说出单元格
回读“1245”。如果小数位
在格式化单元格对话框中等于或大于1,则在Enter上说出单元格
读作“一千二百四十五点零”(例如,小数点后一位。)
但是,如果您使用Application.Speech.Speak Range(“A1”)
(在A1
中输入1245),它将读回“1245”,而不管它是否有逗号,并且实际上是以数字格式
当您达到5位数字时,输入和Application.Speech.Speak Range(“A1”)
读取以千(即“一万”)为单位的值,无论单元格是普通还是数字
有人知道让Application.Speech.Speak轻松读取10000以下的数字和数千个数字的方法吗?或者您需要做一个变通方法,将数字解析为单词,然后读出结果吗
提前谢谢。另一个很好的问题。这对我很有用:
Application.Speech.Speak(Format(Range("A1"),"#,##0"))
Sub Numb()
如果选择<10000,则选择Application.Speech.Speak
端接头
或
子读取编号()
如果范围(“A1”)小于10000,则选择Application.Speech.Speak
端接头
太棒了!完全符合要求。比将数字解析为单词并以这种方式处理要容易得多。这是一个非常好的解决方案,道格。我以前从未注意到这种行为,但你的解释非常清楚,我敢说,我一下子就想到了答案:)。很有趣!
Sub Numb()
If Selection < 10000 Then Application.Speech.Speak Selection
End Sub
Sub ReadTheNumber()
If Range("A1") < 10000 Then Application.Speech.Speak Selection
End Sub