Using a c# .net object in an Excel VBA form

Posted by Mark O'G on Stack Overflow See other posts from Stack Overflow or by Mark O'G
Published on 2010-06-08T11:07:24Z Indexed on 2010/06/08 11:12 UTC
Read the original article Hit count: 264

Filed under:
|

Hi

I have a .net object that I want to use in Excel. I have an existing VBA script that i need to alter to call this the object from. I have then converted the object to a TLB. I've not really touched on this area before so any help will be appreciated.

I have created an interface

[Guid("0F700B48-E0CA-446b-B87E-555BCC317D74"),InterfaceType(ComInterfaceType.InterfaceIsDual)]
public interface IOfficeCOMInterface
{

    [DispId(1)]
    void ResetOrder();
    [DispId(2)]
    void SetDeliveryAddress(string PostalName, string AddressLine1, string AddressLine2, string AddressLine3, string AddressLine4, string PostCode, string CountryCode, string TelephoneNo, string FaxNo, string EmailAddress);
}

I have also created an class that inherits that object.

[ClassInterface(ClassInterfaceType.None), ProgId("NAMESPACE.OfficeCOMInterface"), Guid("9D9723F9-8CF1-4834-BE69-C3FEAAAAB530"), ComVisible(true)]
public class OfficeCOMInterface : IOfficeCOMInterface, IDisposable
{
 public void ResetSOPOrder()
    {

    }
public void SetDeliveryAddress(string PostalName, string AddressLine1, string AddressLine2, string AddressLine3, string AddressLine4, string PostCode, string CountryCode, string TelephoneNo, string FaxNo, string EmailAddress)
    {

        try
        {
            SalesOrder.AmendDeliveryAddress(PostalName, AddressLine1, AddressLine2, AddressLine3, AddressLine4, PostCode);

            MessageBox.Show("Delivery address set");
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }
}

© Stack Overflow or respective owner

Related posts about c#

Related posts about excel-vba