2017-03-29 66 views
0

我试图自动化一个文件夹中有50个tsv文件的位置。他们必须通过记事本+ +打开并将其保存为.txt文件在同一个文件夹中。通过Notepad ++打开tsv文件并将其保存为文本格式

使用下面的代码,我打开记事本++中的tsv文件。

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

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

预先感谢您:)

+0

VBA并不意味着用作其他程序的自动化。为什么不使用大容量文件重命名器(例如[Ant Renamer](http://portableapps.com/apps/utilities/ant_renamer_portable))将tsv文件重命名为txt文件? –

+0

另存为csv文件'FileFormat:= xlCSV' – 0m3r

+0

@Peh如果我直接重命名它有一些影响数据的bug形成。因此,我们必须在Notepadd ++中打开。 – Linga

回答

1

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

下面是相同的代码..

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 
1

如果只想将文件从* .tsv格式重命名为* .TXT,你可以使用命令行

ren *.tsv *.txt 
+0

对不起FLex它不是只为重命名文件:( – Linga

相关问题