社本@ワック様、お世話になります。中間です。

> ラッパクラスの生成がおかしいようですね。

クラスウィザードが完全でないのと同じように考えればよいのですね。
ActiveXがおかしいわけではなく、
ラッパクラスが正しければ正しく動作する、と言うように。

> 私は、ラッパクラスの生成が面倒なのもあって、以下の方法を取っています。
>  ・CWnd::CreateControl() で、ActiveXコントロールを生成
>  ・Wnd::GetControlUnknown() で、IUnknown*を取得
>  ・#importで生成したラッパクラスに代入して使用

この方法はまだ試していないのですが、
リソースではなくプログラムでという事ですね。
どんなラッパクラスが出来るのか気になる所です。

本番ダイアログはボタンを押すと本物のExcelが立ち上がるので、
解決方法とは別に、今回はExcelで修正してもらう事にしようかと思います。