【问题标题】:Opening tsv file via Notepad++ and save it in text format通过 Notepad++ 打开 tsv 文件并以文本格式保存
【发布时间】:2017-08-22 13:04:58
【问题描述】:

我正在尝试自动化一个文件夹中有 50 多个 tsv 文件的过程。它们必须通过notepad++打开并将其保存为同一文件夹中的.txt文件。

使用下面的代码,我在 notepad++ 中打开 tsv 文件。

MyTxtFile = Shell("C:\Program Files (x86)\Notepad++\notepad++.exe I:\Test\Sample.tsv", 1)

但是,我不知道如何使用 VBA 将其保存为 txt 文件。可行吗?如果是,请教我怎么做。

提前谢谢你:)

【问题讨论】:

  • VBA 并不打算用作其他程序的自动化。为什么不直接使用批量文件重命名器(例如Ant Renamer)将 tsv 文件重命名为 txt 文件?
  • 另存为csv文件FileFormat:=xlCSV
  • @Peh 如果我直接重命名它,则会形成一些影响数据的错误。因此,我们必须在 Notepadd++ 中打开。
  • @0m3r 如果我们将其保存为 CSV 格式,则数据对齐会折叠 :(
  • @Linga 如果您需要使用 Notepad++,那么 VBA 可能是错误的工具,因为 VBA 是用来处理 Excel 中的事情而 不是 在 Notepad++ 中的。您应该专注于删除您正在谈论的错误,因为 .tsv 文件是 .txt 文件。 tsv 仅表示这是一个包含制表符分隔值的文本文件。因此,如果重命名不起作用,那么您的方法是错误的。请描述您遇到的错误。

标签: vba excel excel-2010 excel-2007


【解决方案1】:

如果您只想将文件从 *.tsv 重命名为 *.txt,您可以使用命令行

ren *.tsv *.txt

【讨论】:

  • 抱歉 FLex 不仅用于重命名文件 :(
【解决方案2】:

终于找到了通过数据导出的补救措施 => 从文本选项可以解决上述问题..

下面是相同的代码..

 Do While fname <> ""
Workbooks.Add
Set wBook = ActiveWorkbook
Set wksht = ActiveSheet
   With wksht.QueryTables.Add(Connection:="TEXT;" & folder_name & fname, Destination:=Range("$A$1"))
    .Name = fname
    .FieldNames = True
    .RowNumbers = False
    .FillAdjacentFormulas = False
    .PreserveFormatting = True
    .RefreshOnFileOpen = False
    .RefreshStyle = xlInsertDeleteCells
    .SavePassword = False
    .SaveData = True
    .AdjustColumnWidth = True
    .RefreshPeriod = 0
    .TextFilePromptOnRefresh = False
    .TextFilePlatform = 65001
    .TextFileStartRow = 1
    .TextFileParseType = xlDelimited
    .TextFileTextQualifier = xlTextQualifierNone
    .TextFileConsecutiveDelimiter = False
    .TextFileTabDelimiter = True
    .TextFileSemicolonDelimiter = False
    .TextFileCommaDelimiter = False
    .TextFileSpaceDelimiter = False
    .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1)
    .TextFileTrailingMinusNumbers = True
    .Refresh BackgroundQuery:=False
End With

【讨论】:

    【解决方案3】:

    还有另一个线程涉及调用 shell 命令的一般方面。也许它可以帮助你: Execute a command in command prompt using excel VBA

    【讨论】:

    • 感谢您分享这个:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-02
    • 1970-01-01
    • 2020-03-11
    • 2013-03-17
    相关资源
    最近更新 更多