Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vbscript 如何在VBS中将数字转换为字母?_Vbscript_Type Conversion - Fatal编程技术网

Vbscript 如何在VBS中将数字转换为字母?

Vbscript 如何在VBS中将数字转换为字母?,vbscript,type-conversion,Vbscript,Type Conversion,我想用VBScript将一个数字转换成小写字母a-z 例如: 1转换为a 2转换为b 27转换为aa 28转换为ab 等等 特别是,当转换为2个字母的单元格名称时,我在转换26后的数字时遇到困难。(aa、ab、ac等)您应该看看该功能 这将满足您从a到z的需求: wscript.echo Chr(number+96) 要表示数字的多个字母(就像excel那样),您必须检查数字的范围,并使用运算符进行模运算 编辑: 网上有一个快餐复制粘贴示例: 引用微软的例子: 例如:列号为30 列号除以

我想用VBScript将一个数字转换成小写字母
a-z

例如:

  • 1
    转换为
    a
  • 2
    转换为
    b
  • 27
    转换为
    aa
  • 28
    转换为
    ab
  • 等等

特别是,当转换为2个字母的单元格名称时,我在转换26后的数字时遇到困难。(aa、ab、ac等)

您应该看看该功能

这将满足您从
a
z
的需求:

wscript.echo Chr(number+96)
要表示数字的多个字母(就像excel那样),您必须检查数字的范围,并使用运算符进行模运算


编辑:

网上有一个快餐复制粘贴示例:

引用微软的例子: 例如:列号为30

列号除以27:
30/27=1.1111
,通过Int函数向下舍入为“1”

下一列编号-(i*26)=
30-(1*26)=30-26=4

j = 4
将值分别转换为字母字符

i = 1 = "A"
j = 4 = "D"
它们组合在一起,构成列指示符“AD”

及其代码:

Function ConvertToLetter(iCol As Integer) As String
   Dim iAlpha As Integer
   Dim iRemainder As Integer
   iAlpha = Int(iCol / 27)
   iRemainder = iCol - (iAlpha * 26)
   If iAlpha > 0 Then
      ConvertToLetter = Chr(iAlpha + 64)
   End If
   If iRemainder > 0 Then
      ConvertToLetter = ConvertToLetter & Chr(iRemainder + 64)
   End If
End Function
试试这个

function converts(n)
  Dim i, c, m
  i = n
  c = ""
  While i > 26
    m = (i mod 26)
    c = Chr(m+96) & c
    i = (i - m) / 26
  Wend
  c = Chr(i+96) & c
  converts = c
end function

WScript.Echo converts(1000)
可能重复的
function converts(n)
  Dim i, c, m
  i = n
  c = ""
  While i > 26
    m = (i mod 26)
    c = Chr(m+96) & c
    i = (i - m) / 26
  Wend
  c = Chr(i+96) & c
  converts = c
end function

WScript.Echo converts(1000)