Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.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
在VBA格式函数中指定可变长度_Vba - Fatal编程技术网

在VBA格式函数中指定可变长度

在VBA格式函数中指定可变长度,vba,Vba,我知道还有其他方法可以做到这一点,我只是想知道是否有一个内置的(或至少优雅的)方法 例如,Format(123,“00000”)生成字符串00123。 如何使前导零的数量变为变量? 似乎没有给出任何简单的方法来实现这一点 在C语言中,它可以按如下方式完成 char * output; // allocated somewhere int width = 5; int number = 123; sprintf(output, "%0*d", width, number); (output在本

我知道还有其他方法可以做到这一点,我只是想知道是否有一个内置的(或至少优雅的)方法

例如,
Format(123,“00000”)
生成字符串
00123
。 如何使前导零的数量变为变量? 似乎没有给出任何简单的方法来实现这一点

在C语言中,它可以按如下方式完成

char * output; // allocated somewhere
int width = 5;
int number = 123;

sprintf(output, "%0*d", width, number);

output
在本例中为
00123
,更改
宽度将更改前导零的数量)

您可以使用
string()
函数复制
0
的数量

Sub formatTest()

    req_format = String(5, "0")
    result = Format(123, req_format)

End Sub

在一行代码中
result=Format(123,字符串(5,“0”)

也许这可以帮助您:。您可能需要启用对VBScriptI的引用。我希望在格式本身方面有一些我遗漏的细节。你的方法很有效。我特别喜欢避免混乱的单线法。谢谢