使用excel生成c ++头文件的宏

时间:2014-02-19 14:08:56

标签: excel vba excel-vba excel-2010

我正在考虑制作一个excel文件,它可以为我的c ++源文件生成一个headre文件。 以前我们曾经使用excel生成.h文件,但我不知道背后的逻辑(希望一些宏用于此)。

我的头文件包含这么多数据,我的目的是通过excel文件提供“MYapp Alpha 0.0.3”,因为每个版本的版本号都会更改。如果我使用excel文件,那么我可以编辑excel并为我创建.h文件,稍后我可以通过excel文件配置更多信息。

是否可以编写编辑“MYapp Alpha 0.0.3”的宏而无需触及其他

 #define APP_FLASH_APP_ID 0x123
 #define APP_VERSION_NUM "MYapp Alpha 0.0.3 "
 #define APP_PRODUCT_NAME "TPI "
 #define APP_DESCRIPTION_STR APP_PRODUCT_NAME APP_VERSION_NUM
 #define APP_RELEASE_DATE_STR "10/11/13"
 #define APP_SOFTWARE_PARTNUM_LEN 10

需要一些有价值的帮助或建议

度过美好的一天

3 个答案:

答案 0 :(得分:0)

基本上.h文件是一个文本文件。因此,您需要进行一些字符串处理,打开文本文件,在其中打印数据并关闭它。

要打开和关闭文本文件,请使用以下命令:

Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Dim oFile As Object
Set oFile = fso.CreateTextFile("D:\test.h")
oFile.WriteLine "tfadfadsest"
oFile.Close
Set fso = Nothing
Set oFile = Nothing

答案 1 :(得分:0)

我认为这可以帮到你:

Sub test()

    Const strVerNumber As String = "0.0.4"

    Dim FS, TSsource
    Set FS = CreateObject("Scripting.FileSystemObject")
    Set TSsource = FS.OpenTextFile("C:\test.txt", 1, 2)

    Dim tmpString As String
    tmpString = TSsource.ReadAll
    TSsource.Close

    tmpString = Replace(tmpString, _
                        "MYapp Alpha 0.0.3", _
                        "MYapp Alpha " & strVerNumber)

    Dim TSout
    Set TSout = FS.Createtextfile("C:\testOUT.txt", True)

    TSout.Write tmpString
    TSout.Close

End Sub

请参阅以下方法:OpenTextFileCreateTextFileReadAllWrite

答案 2 :(得分:0)

你在谈论这样的事情:

公式: 1

结果: 2