Это постоянная проблема с тем, что я опубликовал вчера.
У меня есть объект .net, который я хочу использовать в Excel.У меня есть существующий скрипт VBA, который мне нужно изменить, чтобы вызвать этот объект.Затем я преобразовал объект в TLB.Я не особо затрагивал эту область, поэтому любая помощь будет оценена.
Я создал интерфейс
[Guid("0F700B48-E0CA-446b-B87E-555BCC317D74"),InterfaceType(ComInterfaceType.InterfaceIsDual)]
[ComVisible(true)]
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);
}
Я также создал класс, который наследует этот объект.
[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;
}
}
}
Я не могу получить доступ к методам объекта, кроме утилизации, я думаю, IDisposable работает нормально.Есть ли что-нибудь, что мне нужно для моего интерфейса?