Unless you are lucky enough to have a CAA licence, the only API exposed by CATIA V5 is the VB one. The good thing is that this is in fact a COM interface, which you can invoke not only from VBA but also from a variety of languages that do support this protocol. (C++, Python, Java, ...).
For Java, you need a library for accessing COM and thus the CATIA API. The easiest for me is Jacob (http://danadler.com/jacob/).
Here's some sample code using Jacob:
import java.net.UnknownHostException;
import com.jacob.com.Dispatch;
import com.jacob.com.Variant;
import com.jacob.activeX.ActiveXComponent;
class TestMacroInvocation
{
public static void main( String [] args ) throws Exception
{
ActiveXComponent catia = new ActiveXComponent("CATIA.Application");
catia.setProperty("Visible", new Variant(true));
Dispatch oDocuments = catia.getProperty("Documents").toDispatch();
Dispatch oDocument = Dispatch.call(oDocuments, "Open", "C:\\Users\\Me\\Desktop\\TestRib.CATPart").toDispatch();
Dispatch.call(catia, "StartCommand", "MyMacro");
Dispatch.call(catia, "Quit");
}
It's just a different way to use the CATIA VBA API, and you'll have to rely on the documentation provided by Dassault Sytèmes.
Hope this helps.