我定义了函数如下:
Function CreateAfile(pathstr As String, datastr As String) '将数据字符串写入文本文件中
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set a = fs.CreateTextFile(pathstr, True)
    a.WriteLine (datastr)
    a.Close
End Function我使用如下语句调用此函数:
pathstr = "c:\data.txt"
datastr = "1,2,3"
Call CreateAfile(pathstr, datastr)为什么在语句Call CreateAfile(pathstr, datastr)时对参数datastr报错,说:byref参数类型不符?谢谢

解决方案 »

  1.   

    Option Explicit  '加上此句.
    Function CreateAfile(pathstr As String, datastr As String) '将数据字符串写入文本文件中
        Set fs = CreateObject("Scripting.FileSystemObject")
        Set a = fs.CreateTextFile(pathstr, True)
        a.WriteLine (datastr)
        a.Close
    End FunctionPrivate Sub Command1_Click()
     Dim pathstr As String  '声明为String
     Dim datastr As String  '声明为String
     pathstr = "c:\data.txt"
    datastr = "1,2,3"
    Call CreateAfile(pathstr, datastr) '当前面未声明时,当作Variant型.所以出现错误.End Sub