VBA Excel 将列导出到 Notepad++,用于带有文本格式的 INI 文件

问题描述 投票:0回答:1

我正在尝试使用 Excel 创建一个 INI 文件,我遇到的问题是我希望对其进行格式化。 假设我有一列 IP 地址,我希望将该列导出到 INI 文件,但它需要在 IP 地址之前和之后添加文本。但无论我尝试什么,都不起作用或没有找到任何解决方案。

注意:我对 VBA 完全是菜鸟。

我的 INI 文件应该看起来像这样:

[Transfer-List]
Status=Inactive
CountStation=255
Station1=XXX.XXX.XXX.XXX;VKDGenerator
Station2=YYY.YYY.YYY.YYY;VKDGenerator
Station3=ZZZ.ZZZ.ZZZ.ZZZ;VKDGenerator
Station4=AAA.AAA.AAA.AAA;VKDGenerator
Station5=...
...
...

由于我想创建一个 INI 文件,因此前三行、Station n° 和 VKDGenerator 是必需的。

感谢您对我的耐心和所有帮助;)

excel vba format export ini
1个回答
0
投票

打开文件进行输出,然后扫描电子表格并打印每一行。

Option Explicit

Sub CreateINI()

    Const SUFFIX = ";VKDGenerator"
    Const ININAME = "Filename.INI"
    Dim i As Long, n As Long, ini As String, ff
    
    'open text file
    ini = ThisWorkbook.Path & Application.PathSeparator & ININAME
    ff = FreeFile
    Open ini For Output As #ff
    
    With ThisWorkbook.Sheets("Sheet1")
        ' number of lines on sheet
        n = .Cells(.Rows.Count, "A").End(xlUp).Row
        ' header
        Print #ff, "[Transfer-List]" & vbCrLf & _
                   "Status=Inactive" & vbCrLf & _
                   "CountStation=" & n
        ' station IP address
        For i = 1 To n
             Print #ff, "Station" & i & "=" & Trim(.Cells(i, 1)) & SUFFIX
        Next
    End With
    Close #ff
    MsgBox n + 3 & " lines written to " & ini, vbInformation
    
    ' open notepad++
    Call Shell("C:\Program Files\Notepad++\notepad++.exe " & ini, 1)
   
End Sub
© www.soinside.com 2019 - 2024. All rights reserved.