【发布时间】:2015-01-09 11:30:37
【问题描述】:
我添加了一个 C++ ATL COM,它实现了一些引用 Excel API 的实用函数:
void DoSomething(CComPtr<Excel::Range> &masterCell)
{
// ...
CComPtr<Excel::Range> cell = masterCell->Offset[vertical][horizontal];
// ...
}
在为 x64 编译 excel 插件时,我遇到了很多虚假错误,例如:
cannot convert from 'Excel::Range' to 'ATL::CComPtr<T>'
但是,当我为 Win32 编译时没有问题。辅助实用程序函数没有作为 excel UDF 公开,所以我认为 this question 不适用,因为该函数没有 STDMETHODIMP 部分。
有什么想法吗?
提前致谢。
【问题讨论】:
-
Excel::Range 来自以下语句:#import "Excel.tlb" named_guids auto_rename ... and ... using namespace Excel;此版本的 Excel.tlb 是从 32 位版本的 Excel 生成的。我需要生成一个 64 位的吗?
标签: visual-c++ com excel-2010 atl