Re: [问题] 如何将一堆excel档转成txt档z.

楼主: Catbert (宅男)   2016-06-16 19:36:00
※ 引述《dcjamesw (dcjamesw)》之铭言:
: (若是和其他不同软件互动之问题 请记得一并填写)
: 软件:office excel 2003
: 版本:2003
: 请问要如何将好几百个excel档转成txt档?
: excel本身应该无法处理吧?
: 有这种帮人处理的网页或软件吗?
将下面的文字贴到记事本后
在另存成VBS档,后点两下就可以执行
程式的作用在于把相同资料夹下的excel档(xls或xlsx)转成txt
转换后的txt档名为:Excel档名-工作表名称.txt
档案下载连结
https://dl.dropboxusercontent.com/u/36886861/Convert_XLS_To_TXT.vbs
=======================
Option Explicit
Dim objShell 'Declare SHELL
Dim objFSO 'Declare FileSystemObject
Dim FileLists 'Declare Files in Script Directory
Dim objFile 'Declare File Object
Dim objExcel 'Declare Excel Application
Dim objExcelBook'Declare Workbook
Dim objSheet 'Declare Worksheet
Dim FullName
Dim FileName
Set objShell = WScript.CreateObject("WScript.Shell")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set FileLists = objFSO.GetFolder(objShell.CurrentDirectory).Files
For Each objFile in FileLists
If(objFSO.GetExtensionName(objFile) ="xls" or
objFSO.GetExtensionName(objFile) ="xlsx") Then
FullName = objFSO.GetAbsolutePathName(objFile)
FileName = Left(FullName, InstrRev(FullName, ".")-1 )
Set objExcel = WScript.CreateObject("Excel.application")
set objExcelBook = objExcel.Workbooks.Open(FullName)
objExcel.application.visible=false
objExcel.application.displayalerts=false
For Each objSheet in objExcel.worksheets
objSheet.activate
objExcelBook.SaveAs FileName & "-" & objSheet.name & ".txt" , -4158
'objExcelBook.SaveAs FileName & "-" & objSheet.name & ".csv" , 6
Next
objExcel.Application.Quit
objExcel.Quit
End If
Next
objExcel.application.visible=true
objExcel.application.displayalerts=true
Set objExcel = Nothing
set objExcelBook = Nothing
=======================================

Links booklink

Contact Us: admin [ a t ] ucptt.com