无法在Excel宏中创建简单的VBA函数并调用它

nnd*_*wan 0 vbscript excel vba

我正在尝试创建一个宏,可以从本地活动工作簿中的Excel电子表格中收集数据,然后创建头文件,我稍后将其合并到我的项目中.但是对于我的生活,我必须遗漏一些东西,所以DUMB我无法创建一个工作函数,它返回一个字符串(它将构造一个C++结构)给调用函数.我已经将示例代码简化为绝对最低限度来隔离问题,但我仍然无法弄清楚我做错了什么.我不是VBA的专家,但我知道如何创建代码,我不能缩小VBA不满意的地方.我一直得到"编译错误,语法错误." 请将以下代码复制到您的模块中,看看是否正确编译.如果你知道我哪里出错了,请告诉我.非常感激!!!

Sub CREATE_FACTORY_SETTING_HEADER()
    Dim FS, TSsource
    Set FS = CreateObject("Scripting.FileSystemObject")

    Dim TSout
    Set TSout = FS.Createtextfile("HeaderFile.h", True)

    Dim fileHeading As String
    fileHeading = "File Heading for Header file"

    Dim fileBody As String
    fileBody = "Some initial file body lines"

    fileBody = fileBody & createStructBody

    TSout.Write fileHeading & fileBody
    TSout.Close    
End Sub


Public Function createStructBody() As String
    Dim structBody As String
    structBody = "Hey I'm a struct body, but I can't be returned for some     reason"
    Return structBody
End Function
Run Code Online (Sandbox Code Playgroud)

Ekk*_*ner 5

VBA和VBScript都使用"赋值给函数"(而不是"返回"或"最后一个语句的结果")来返回函数的结果.所以

Public Function createStructBody() As String
    createStructBody = "Hey I'm a string and can be returned."
End Function
Run Code Online (Sandbox Code Playgroud)