64ビットのExcel2010を使用してVBAから登録および使用できるオブジェクトライブラリを構築しようとしています。DevStudio2008を使用しています。これは64ビットの問題だと思います。以前のバージョンのExcel(XP)。[アセンブリ情報情報]ダイアログで[COMを表示する]をクリックし、ビルドタグで[COM相互運用機能に登録]をクリックしました。ターゲットタイプをx64に設定すると、参照ダイアログにライブラリがまったく表示されません。[任意のCPU]を選択すると登録できますが、インスタンス化しようとすると「アクティブXオブジェクトを作成できません」というエラーが表示されます。
namespace Tester
{
[Guid("D6F88E95-8A27-4ae6-B6DE-0542A0FC7039")]
[InterfaceType(ComInterfaceType.InterfaceIsDual)]
public interface _Numbers
{
int GetDay();
int GetMonth();
int GetYear();
int DayOfYear();
}
[Guid("13FE32AD-4BF8-495f-AB4D-6C61BD463EA4")]
[ClassInterface(ClassInterfaceType.None)]
[ProgId("Tester.Numbers")]
public class Numbers : _Numbers
{
public Numbers(){}
public int GetDay()
{
return(DateTime.Today.Day);
}
public int GetMonth()
{
return(DateTime.Today.Month);
}
public int GetYear()
{
return(DateTime.Today.Year);
}
public int DayOfYear()
{
return(DateTime.Now.DayOfYear);
}
}
}