c语言代码姓名全拼,巧用拼音首字母输入人名(代码)
'输入姓名的主体函数
Sub 姓名输入(aim As Range)
'清除单元格中的空格并将输入的字母转换为小写
On Error
Resume Next
Dim short
As String
short =
Trim(LCase(aim.Value))
'声明动态数组,调用Search过程在姓名对照表中查找信息
Dim
result() As String
Search
short, result
'如果查找到一个结果则直接写入单元格
If
UBound(result) = 1 Then
aim.Value =
result(1)
'如果没有查找到则直接退出程序
ElseIf
UBound(result) = 0 Then
Exit Sub
'如果查找到两个以上的结果则等待用户选择
Else
'循环等待用户输入,直至输入正确
Dim goOn As
Boolean
Do
goOn = GetOne(result,
aim)
Loop Until (goOn =
True)
End
If
End Sub
'在姓名对照表中查找对应信息存储在result()数组中
Sub Search(short As String, result() As
String)
'如果出错则弹出警告框
On Error
GoTo notable
Dim
searchTable As Worksheet
Set
searchTable = Worksheets("姓名对照")
'获取该工作表的总人数
Dim
rowNum As Integer
rowNum =
searchTable.Cells(1, 1).CurrentRegion.Rows.Count
'重新分配可变数组
ReDim
Preserve result(0) As String
'声明循环变量
Dim row,
index As Integer
index =
1
'循环查找工作表的每一行
For row =
1 To rowNum
Dim aim
As String
aim =
searchTable.Cells(row, 1)
'如果内容符合缩写
If aim =
short Then
'重新分配数组长度
ReDim
Preserve result(index) As String
'将结果存入数组的新空间
result(index) = CStr(searchTable.Cells(row, 2))
index = index + 1
End If
Next
row
Exit
Sub
'姓名对照表不存在时的警告消息
notable:
MsgBox
("找不到姓名对照表!")
End Sub
'有一个以上查找结果时让用户选择其一的函数
Function GetOne(result() As String, aim As
Range) As Boolean
'将所有查找结果及其序号拼接为提示字符串
Dim
warning As String
warning =
"请输入数字选择一个姓名" + Chr(10)
Dim index
As Integer
For index
= 1 To UBound(result)
warning = warning +
CStr(index) + ":" + result(index) + "
"
Next
index
'接受用户输入
Dim
answer As String
answer =
InputBox(warning)
If answer
= "" Then
GetOne =
True
Exit
Function
End
If
'判断其是否为数字,以及大小是否符合范围
answer =
Trim(answer)
GetOne =
False
On Error
GoTo msg
index =
CInt(answer)
If index
>= 1 And index <= UBound(result)
Then
GetOne =
True
End
If
'如果输入有效则在单元格中写入内容。否则重新输入
If GetOne
= True Then
aim.Value =
result(index)
Else
msg:
MsgBox
("输入内容格式错误或超出范围,请重新输入")
End
If
End Function
c语言代码姓名全拼,巧用拼音首字母输入人名(代码)相关推荐
- oracle中文转全拼音,Oracle 将汉字转为全拼或返回拼音首字母SQL(二)
创建函数: CREATE OR REPLACE FUNCTION F_INITIALS_FUZZY_QUERY(P_NAME IN VARCHAR2) RETURN VARCHAR2 AS V_COM ...
- java中获取中文拼音(全拼)和中文首字母
目录 一.引入依赖 二.代码 三.解释 1.创建格式化对象HanyuPinyinOutputFormat 2.设置输出结果的大小写格式 3.设置声调格式 4.进行汉字转拼音操作 四.作用 一.引入依赖 ...
- mysql全拼_mysql数据库汉字首字母简拼全拼
汉字提取首字母 fristPinyin : 此函数是将一个中文字符串的第一个汉字转成拼音字母 (例如:"李"->l),包括特殊字符处理,可以进行动态添加 CREATE FUN ...
- mysql简拼查询_MySQL拼音首字母查询_MySQL
bitsCN.com 最近一个项目中有个模块需要实现拼音首字母查询功能,网上查了一下资料,自己重新修改整理了一下,使其满足项目的要求. 实现过程如下: 1.创建一个获取中英文大写首字母函数: DROP ...
- 已知一个掺杂了多个数字字符的中文名拼音,去掉所有数字字符之后,形式为“名”+空格+“姓”;并且名和姓的首字母大写,其他小写,要求输出姓名全拼,且全为小写。(后附详细样例说明)
已知一个掺杂了多个数字字符的中文名拼音,去掉所有数字字符之后,形式为"名"+空格+"姓":并且名和姓的首字母大写,其他小写,要求输出姓名全拼,且全为小写.(后附 ...
- C# 获取汉字的拼音首字母和全拼(含源码)
C# 获取汉字的拼音首字母 一种是把所有中文字符集合起来组成一个对照表:另一种是依照汉字在Unicode编码表中的排序来确定拼音的首字母.碰到多音字时就以常用的为准(第一种方法中可以自行更改,方法为手 ...
- (转)C# 获取汉字的拼音首字母和全拼(含源码)[A]
https://blog.csdn.net/younghaiqing/article/details/62417269 C# 获取汉字的拼音首字母 一种是把所有中文字符集合起来组成一个对照表:另一种是 ...
- js汉语转拼音(全拼、首字母、拼音首字母)
新建js文件first_alphabet.js 1 // JavaScript Document 2 // 汉字拼音首字母列表 本列表包含了20902个汉字,用于配合 ToChineseSpell 3 ...
- java将汉字转成拼音首字母大写字母_java 根据汉字生成拼音全拼或拼音首字母的示例...
1.情景展示 java 根据中文生成对应的拼音 2.准备工作 所需jar包:pinyin4j-2.5.0.jar 3.解决方案 导包 import net.sourceforge.pinyin4j.P ...
- oracle汉字转拼音(获得全拼/拼音首字母/拼音截取等)
oracle汉字转拼音(获得全拼/拼音首字母/拼音截取等) oracle 字符集 GBK 没有问题 , UTF -8 需要修改一下 1.获得全拼 SELECT GETHZPY.GETHZFULLPY( ...
最新文章
- Ardino基础教程 21_最简单最快控制LCD1602
- [导入]Ms Ajax Lib- Object 类型扩展
- 站长如何拥抱腾讯云大生态
- ad18敷铜为什么打的孔里面也有_PCB覆铜后放置大量过孔有什么作用?具体怎么放置?...
- python默认参数不能定义为可变对象类型
- 中文语音识别系统搭建流程笔记
- 微信第三方开放平台研发实战
- 【Java】使用ScriptEngine动态执行代码(附Java几种动态执行代码比较)
- CSDN 个人博客域名设置
- Win10如何高效压缩卷,亲测有效
- 块元素div转变为行内块元素之后如何消除之间间隙
- UG/NX二次开发Siemens官方NXOPEN实例解析—1.6 BlockStyler/SelectionExample
- 计算机原理理解编程语言_计算机如何理解我们对编程语言及其工作原理的高级概述...
- Android之ubuntu源码开发环境搭建笔记
- 2021年中国互联网广告市场年度分析
- 驾考记录之科目三(2021-06-16)(上海旗忠考场)
- 深入Android源码系列(二) HOOK技术大作战
- LeetCode每日一题——Day21
- Vscode几个有趣的插件
- vc.net 连接数据库操作实例 高手勿看(太基础)