VBA 更新或删除 CSV 中的行

Posted

技术标签:

【中文标题】VBA 更新或删除 CSV 中的行【英文标题】:VBA update or delete row in CSV 【发布时间】:2021-07-09 16:17:18 【问题描述】:

我正在做一个项目,我必须将 CSV 用作小型 SQL 数据库。 我正在使用 VBA 与该数据库进行通信。

我想知道是否有办法更新(或删除)现有行(记录)。

我已设法使用以下代码插入新行,但无法修改现有行。

Sub WriteData()
    ' some Code
    Open str_Path For Append As #1
    str_Data = ' Semicolon separated value in a string
    Print #1, str_Data
    Close #1
End Sub

我也尝试过使用 ADODB Recordset 对象,但我无法创建正确的连接字符串来理解分隔符是“;”。

非常感谢您的任何帮助或想法 :) 最好的, 最大

【问题讨论】:

在您尝试执行更新时发布您使用的代码将有助于您的问题。 我没试过。我已经在网上阅读了一些东西,但我没有找到我要找的东西! (也许我也是新手了解一些解决方案) 我认为您不能使用 ADO 更新 CSV 中的一行。 【参考方案1】:

我确信有一个更优雅的解决方案,可能使用 VBA 的Open 语句,但我会使用 Excel,如下所示。

Dim xlApp, xlWb, xlWs

On Error Resume Next
Set xlApp = GetObject(, "Excel.Application")
If xlApp Is Nothing Then _
Set xlApp = CreateObject("Excel.Application")
On Error GoTo 0

Set xlWb = xlApp.Open("C:\blahblah.csv")
Set xlWs = wlWb.Sheets("Sheet1")

xlWs.Row(1).EntireRow.Delete 'Change 1 to whatever you want

【讨论】:

【参考方案2】:

使用FileSystemObject object。

使用它,您可以轻松地浏览、读取、删除行并将行追加到文本文件中。

【讨论】:

以上是关于VBA 更新或删除 CSV 中的行的主要内容,如果未能解决你的问题,请参考以下文章

隐藏或删除行后如何更新 HTML 表中的行索引?

使用Python删除csv中的行[重复]

从R中的csv文件中删除多余的行,然后合并csv文件

如何删除错误行错误的行并使用 pandas 或 numpy 读取剩余的 csv 文件?

如何删除错误行错误的行并使用 pandas 或 numpy 读取剩余的 csv 文件?

AWS Glue to Redshift:是否可以替换,更新或删除数据?