无法在Excelmacros中创build简单的VBA函数并调用它

我正在尝试创build一个macros,可以从本地活动工作簿中的Excel电子表格中收集数据,然后创build头文件,稍后将其合并到我的项目中。 但是对于我的生活,我必须错过DUMB这样的东西,我不能创build一个返回一个string(这将构造一个C ++结构)到调用函数的工作函数。 我已经简化了示例代码是绝对的最低限度隔离问题,但我仍然无法弄清楚我做错了什么。 我不是VBA的专家,但是我知道如何创build代码,而且我不能缩小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 

VBA和VBScript都使用“赋值到函数”(而不是“返回”或“最后语句的结果”)来返回函数的结果。 所以

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