Can VBA code instantiate and use .NET objects? The specific class I’m interested in is System.IO.Compression.GZipStream.
For Info GAC is the .NET Global Assembly Cache
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
I think Andy nailed this answer, but I’m not certain that the aspect regarding the CLR loading rules is exactly right.
The .NET Assembly that holds the class acting as the wrapper for GZipStream would be exposed to COM and registered just like any other COM project library and class. In this regard, VBA would find the location of the COM-exposed .NET assembly via the registry. It might be smart to put the assembly in the GAC, so that it can’t move (since moving the assembly would invalidate the registry info), but so long as the registry points to the right place, it should be fine.
A good beginner’s tutorial on the subject is here
Hope this helps…