将VBS脚本转换为Excel VBA

我目前有.vbs文件,我双击并运行将我的Excel文件转换为.txt文件格式为下面的输出。 我想添加这个作为一个VBA代码片段,所以我可以在Excel内创build文件。 我对.VBS没有经验,所以这已经certificate是困难的,我没有取得任何进展。

有没有人有build议,或想帮助将其转换为VBA?

我感谢任何帮助。

谢谢,

wscript.echo "Process Journal Entries for upload?" Set objExcel = CreateObject("Excel.Application") Set objWorkbook = objExcel.Workbooks.Open("S:\Accounting\JE60.xlsm") set myfileFSO=CreateObject("Scripting.FileSystemObject") set myts=myfileFSO.CreateTextFile("S:\Accounting\JE60.txt") set objWorksheet=objWorkbook.Sheets(1) introw=1 count=0 Do Until objWorksheet.Cells(intRow, 1).Value = "" count=count+1 introw=introw+1 loop myts.write "G," & objworksheet.cells(6,2).value & "," & objworksheet.cells(2,2).value & "," & objworksheet.cells(5,2).value & "," &objworksheet.cells(7,2).value & "," &objworksheet.cells(3,2).value & "," &objworksheet.cells(4,2).value & "," & objworksheet.cells(8,2).value & "," & objworksheet.cells(10,2).value & "," & objworksheet.cells(11,2).value & "," & objworksheet.cells(12,2).value & chr(10) for i=14 to count myts.write "D," & objworksheet.cells(i,1).value & "," & objworksheet.cells(9,2).value & "," & objworksheet.cells(i,2).value & "," &objworksheet.cells(5,2).value & "," & objworksheet.cells(i,3).value & "," & objworksheet.cells(i,4).value & "," & objworksheet.cells(i,5).value &"," &objworksheet.cells(i,6).value &"," &objworksheet.cells(i,7).value &"," &objworksheet.cells(i,8).value &"," &objworksheet.cells(8,2).value & chr(10) if objworksheet.cells(i,9).value <> "" then myts.write "A," &objworksheet.cells(i,9).value &"," &objworksheet.cells(i,10).value &"," &objworksheet.cells(i,11).value &"," &objworksheet.cells(i,12).value &"," &objworksheet.cells(i,13).value &"," &objworksheet.cells(i,14).value &"," &objworksheet.cells(i,15).value &"," &objworksheet.cells(i,16).value &"," &objworksheet.cells(i,17).value &"," &objworksheet.cells(i,18).value &"," &objworksheet.cells(i,19).value &"," &objworksheet.cells(i,20).value &"," &objworksheet.cells(i,21).value &"," &objworksheet.cells(i,22).value &"," &objworksheet.cells(i,23).value &"," &objworksheet.cells(i,24).value &"," &objworksheet.cells(i,25).value &"," &objworksheet.cells(i,26).value &"," &objworksheet.cells(i,27).value &"," &objworksheet.cells(i,28).value &"," &objworksheet.cells(i,29).value & chr(10) End if next myts.close objExcel.Quit set objExcel=nothing ' msgbox "Done." wscript.echo "Done" 

这与VBA非常接近。 把整个东西放在一个VBA模块中的Sub / End Sub块中,逐个debugging每个错误。

你需要做的主要变化是:

1) Set objExcel = Excel.Application代替你当前拥有的行。 你根本不需要objExcel ,但是保留它将会减less你需要做的代码更改。

2)如果你已经打开工作簿,然后写Set objWorkbook = Workbooks("JE60.xlsm")

3)删除线objExcel.Quit否则你会继续失去你的工作!

4)用debug.printreplacewsript.echo