编写多个.ini文件的最佳方法

时间:2013-09-04 22:11:13

标签: excel excel-vba text ini vba

我有100多个不同的用户将使用某个程序,该程序需要在ini文件中进行不同的设置。我认为excel可能是创建这些文件并将它们写入单个文件中的文件夹的最佳方式。数据应如下所示。

所有这些数据都需要存放在每个文本文件中:

UseMct=
UseCellular=
UseKvh=
UseIridium=
UseAurora=
UseSailor=
SailorUnitAddress=
AuroraUnitAddress=
QualcommSerialPort=
MctUnitAddress=
CellularUnitAddress=
KvhSerialPort=
KvhUnitAddress=
IridiumUnitAddress=
IridiumPositionUrl=
HostUrl=

以下每列的各个值都包含所需的数据。因此Cell B1将具有第一个文本文件的值,其中上述数据将在A列中。


UseMct =(B1中的值)
UseCellular =(B2中的值)
等等

下一个文本文件将再次在A1中包含所有这些字段,但使用此字段映射。


UseMct =(C1中的值)
UseCellular =(C2中的值)
等等

这将循环直到文档完成并将使用某个字段作为文件名。需要帮忙!谢谢。

我查看了以下问题:
Outputting Excel rows to a series of text files
Write each Excel row to new .txt file with ColumnA as file name

1 个答案:

答案 0 :(得分:2)

你需要这样的东西:

Sub iniCreate()

  For iCol = 1 To 3
    Open Environ("UserProfile") & "/MyProg" & Range("B1").Offset(0, iCol - 1).Value _
        & ".ini" For Output As #1
    For jRow = 1 To 16
      Print #1, Range("A2").Offset(jRow - 1, 0); Range("A2").Offset(jRow - 1, iCol)
    Next jRow
    Close #1
  Next iCol

End Sub

我使用随机数作为数据,所以它看起来像这样:

                    V000        V001        V002
UseMct=             0.659099708 0.098897863 0.66830137
UseCellular=        0.081138532 0.064777691 0.919835459
UseKvh=             0.942430093 0.872116053 0.032414535
UseIridium=         0.263586179 0.921751649 0.295967085
UseAurora=          0.867225038 0.094161678 0.11271394
UseSailor=          0.112345073 0.247013614 0.562920243
SailorUnitAddress=  0.641083386 0.630124454 0.430450477
AuroraUnitAddress=  0.133569751 0.431081763 0.620952387
QualcommSerialPort= 0.489904861 0.745152668 0.0371556
MctUnitAddress=     0.390312141 0.643551357 0.621789056
CellularUnitAddress=0.924394826 0.672907813 0.834973453
KvhSerialPort=      0.431335182 0.040557434 0.329205484
KvhUnitAddress=     0.018331225 0.405080112 0.281003
IridiumUnitAddress= 0.530083065 0.428947849 0.781832847
IridiumPositionUrl= 0.473567159 0.428633715 0.00044413
HostUrl=            0.132253798 0.832369002 0.981755331

V000,V001等构成文件名的一部分。例如。 MyProgV000.ini 我使用UserProfile环境变量来选择输出文件夹。如果您愿意,可以选择另一个。

然后两个For Loops只将数据输出到文件中。