作者Catbert (宅男)
标题Re: [问题] 如何将一堆excel档转成txt档z.
时间Thu Jun 16 19:36:00 2016
※ 引述《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
=======================================
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.248.151.62
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Office/M.1466076965.A.277.html
※ 编辑: Catbert (111.248.151.62), 06/16/2016 19:37:06