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