Невозможно получить доступ к COM-методам в VBA

Я пытаюсь получить доступ к COM-методам в VBA.

Problem: Я вижу все методы по умолчанию (например,GetHashCode, GetType а такжеToString) в VBA нон те, которые являются частью интерфейса COM и специально написаны, чтобы быть видимыми для COM (например,getStringValue() ниже).

Подробности настройки:

Визуальная Студия 2008 Windows 7 x64 Офис 2007 .NET 3.5Interface 'IGetMyString.cs'
<code>using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;

namespace SimpleCOMAssembly
{
    [ComVisible(true), GuidAttribute("4153A1AC-ECE9-4f66-B56C-1DDEB6514D5D")]
    [InterfaceType(ComInterfaceType.InterfaceIsDual)]
    interface IGetMyString
    {
        [DispId(1)]
        string getStringValue();
    }
}
</code>
Implementation 'GetMyString.cs'
<code>using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
using System.ComponentModel;

namespace SimpleCOMAssembly
{
    [ComVisible(true), GuidAttribute("0A3D4D65-CF50-4020-BF13-77001F8AAABE")]
    [ProgId("SimpleCOMAssembly.GetMyString")]
    [ClassInterface(ClassInterfaceType.None)]
    public class GetMyString : IGetMyString
    {
        public GetMyString() { }

        [ComVisible(true), Description("Get my string")]
        public string getStringValue()
        {
            return "hello";
        }
    }
}
</code>

В свойствах сборки я проверял «Сделать сборку видимой». (см. снимок ниже)

Также попросил Visual Studio 2005 сделать 'Зарегистрируйтесь для COM-взаимодействия' (см. снимок ниже)

И, наконец, как событие после сборки, я запускаю regasm.exe для регистрации .DLL, а также .TLB в реестре следующим образом:

<code>%SystemRoot%\Microsoft.NET\Framework\v2.0.50727\regasm /codebase "$(TargetPath)" /tlb:"$(TargetDir)$(TargetName).lib"
</code>

В окне просмотра объектов Excel я включил COM-сервер (SimpleCOMAssembly, описанная выше), и теперь в обозревателе объектов он не перечисляет метод интерфейса COM (см. Ниже

Может кто-нибудь помочь мне узнать, чего мне не хватает, из-за чего методы интерфейса COM не отображаются в VBA?

РЕДАКТИРОВАТ Присоединение ITypeLib Просмотр сгенерированного TLB

Ответы на вопрос(3)

Ваш ответ на вопрос