The NodeXL Class Libraries are not COM compatible, and therefore cannot be used directly from VBA. I know of nothing that would prevent them from being
COM compatible, but given the time it would take to make the required project-level changes, provide default constructors for all COM-exposed classes (I'm pretty sure some are missing), and then test and document everything, that probably isn't
going to happen anytime soon.
However, I can suggest a workaround that I used successfully to make the NodeXL Class Libraries available from a specific VBA project I once worked on. Here is what you might do:
1) In Visual Studio 2010 or 2013, create a C# or VB.NET Class Libraries project. Be sure to target .NET 4.0 or above.
2) Implement a single class that implements a single public method that performs your specific NodeXL task. Here is a sample method signature:
NodeXLWrapper.CreateNodeXLGraphImage(String pathToEdgeList, String pathWhereGraphImageShouldBeSaved)
Note that this is not
a general purpose NodeXL wrapper. It performs only a specific task for a specific application. Also, you do not have to port any of your existing VBA code into it.
3) Import the assemblies from the NodeXL Class Libraries into your C# or VB.NET project, and use the NodeXL classes to implement your method. Your code will be C# or VB.NET, of course.
4) Make NodeXLWrapper COM compatible. That's easy, because it's just one class with one method.
5) Import the NodeXLWrapper type library into your VBA project.
6) Call your method on NodeXLWrapper from your VBA project.
That's my best suggestion.
Reference: "Exposing .NET Framework Components to COM",