通过Notepad ++打开tsv文件并以文本格式保存

时间:2017-03-29 07:16:12

标签: vba excel-vba excel-2010 excel-2007 excel

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

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

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

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

提前谢谢你:)

3 个答案:

答案 0 :(得分:1)

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

ren *.tsv *.txt

答案 1 :(得分:1)

最后通过Data =>导出找到了补救措施从Text选项可以解决上述问题..

下面是同样的代码..

 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

答案 2 :(得分:0)

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