Macro per generare un file di intestazione c ++ usando excel

Sto pensando di creare un file excel in grado di generare un file header per il mio file sorgente c ++. Prima che abbiamo usato per generare file .h usando excel, ma non conosco la logica che sta dietro (spera che alcune macro utilizzano per questo).

Il mio file di intestazione contiene molti dati e la mia intenzione è quella di dare "MYapp Alpha 0.0.3" tramite il file excel perché il numero di versione cambia per ciascuna release. Se ho usato il file excel allora posso modificare quello excel e crea file .h per me, in seguito alcune ulteriori informazioni che posso fare configurabile tramite file excel.

È ansible scrivere la macro che modifica "MYapp Alpha 0.0.3" senza toccare l'altro

#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 

Alcuni consigli utili o suggerimenti necessari

Vi auguro una buona giornata

Penso che questo potrebbe aiutarti:

 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 Impostare FS = CreateObject ("Scripting.FileSystemObject") 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 

Vedere questi methods: OpenTextFile , CreateTextFile , ReadAll e Write

Stai parlando di qualcosa di simile:

formule: 1

risultati: 2

Beh, fondamentalmente un file .h è un file di text. Quindi è necessario eseguire alcune elaborazioni di stringhe, aprire un file di text, printingre i dati in esso e chiuderlo.

Per aprire e chiudere un file di text utilizzare questo:

 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 Impostare fso = CreateObject ("Scripting.FileSystemObject") 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 Dim oFile come object 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