2014-02-07 51 views
0

当我使用这个const语句时,我的编码工作正常。在Visual Basic中定义的错误

Const strFullName As String = "C:\Sample\Haha.txt" 

当我更改Search.text(文本框名称)后,它不断出现错误。

Const strFullName As String = "C:\Sample\" & Search.Text & ".txt" 

编译错误:

常量表达所需

然后我尝试创建textbox1.text = Searchbox.Text。在TextBox1中显示C:\ SAMPLE \ Haha.txt

请帮帮忙,谢谢〜

+1

正如错误所述,将值赋给常量时,您必须使用字面值 - 您不能将变量用作表达式的一部分来计算值。改用String变量。 –

+0

除了常量定义,还有什么还可以使用? – whywhy

回答

1

Search.Text不是一个恒定值 - 这是一个运行时间属性,其价值是不知道,直到运行时间,所以它不能被分配到一个常量。你可以只定义strFullName作为一个变量而不是一个常数:

Dim strFullName As String 

... 
' Set strFullName at run-time 
strFullName = "C:\Sample\" & Search.Text & ".txt" 

如果Search是一个文本框,你可能还需要检查是否有有效的输入,以确保你不是要形成无效的文件名;例如,您可以使用Len(Search.Text)来确定文本框中文本的长度。

+0

太棒了!感谢你的建议。真的非常感谢:D – whywhy

+1

或者只需检查以确保'Len(Dir(strFullName))<> 0',这将有助于确保您不会收到格式错误的文件路径。 –