AWG Blogs

Sunday, May 5, 2013

Using vb2js

This is one of the only tools I've found to automatically convert VBA files to .js files. YMMV.

- Download via svn. see https://code.google.com/p/vb2js/source/checkout

- Download Guava (currently guava-14.0.1.jar)  - https://code.google.com/p/guava-libraries/; place downloaded file in 'src' folder of vb2js download

- Open a text editor and insert this code
package com.google.vb2js;
import java.util.*;
import java.io.*;

public class MyVbaJsConverter {
  public static void main(String[] args) throws FileNotFoundException, IOException {
    if (args.length == 2) {
   String entireFileText = new Scanner(new File(args[0]))
  .useDelimiter("\\A").next();
   FileWriter fstream = new FileWriter(args[1]);
   BufferedWriter out = new BufferedWriter(fstream);
   out.write(VbaJsConverter.convert(entireFileText));
   out.close();

    }
  }
}
- Save the file as "MyVbaJsConverter.java" in the same directory as the unpacked vb2js java files (e.g. in D:\temp\vb2js-read-only\src\com\google\vb2js) - Create a text file with the following content. Save it as ...\src\testInput.bas
Dim MyList As String
Dim MyNum As Integer
- Make sure JDK is installed and JDK bin folder is in path environment variable - Open a command prompt and change to src folder. - Execute the following commands:
d:\temp\vb2js-read-only\src>javac -cp guava-14.0.1.jar com\google\vb2js\*.java
D:\temp\vb2js-read-only\src>java -cp .;guava-14.0.1.jar com.google.vb2js.MyVbaJsConverter testInput.bas testOutput.js
- Open testOutput.js and verify that VBA was converted.

refs: http://abhinandanmk.blogspot.com/2012/05/java-how-to-read-complete-text-file.html
http://www.roseindia.net/java/beginners/java-write-to-file.shtml