怎么import Excel:Range全部函数
如何import Excel::Range全部函数?
我在ATL中要和Excel交互,所以在 stdafx.h 中加入:
#import "C:\\Program Files\\Common Files\\Microsoft Shared\\VBA\\VBA6\\VBE6EXT.OLB "
using namespace VBIDE;
#import "C:\\Program Files\\Microsoft Office\\OFFICE11\\EXCEL.EXE " raw_interfaces_only \
rename( "DialogBox ", "ExcelDialogBox " ) \
rename( "RGB ", "ExcelRGB " ) \
rename( "CopyFile ", "ExcelCopyFile " ) \
rename( "ReplaceText ", "ExcelReplaceText " ) \
exclude( "IFont ", "IPicture ")
我在程序中调用Excel::_Application、Excel::Workbooks 等均正常,但是访问 Excel::Range 时,发现在excel.tlh中的Excel::Range 只有
Range : IDispatch
{};
并没有import 其成员函数,导致我无法使用Excel::Range.
请问如何才能 import Excel::Range 所有的成员函数?谢谢!
另:如果去掉raw_interfaces_only,能import,但是变量类型等使用不方便。
------解决方案--------------------
自已注意下版本
#import "c:\\Program Files\\Microsoft Office\\Office\\mso9.dll " rename_namespace( "Office ")
using namespace Office;
#import "c:\\Program Files\\Common Files\\Microsoft Shared\\VBA\\VBA6\\VBE6EXT.olb " rename_namespace( "VBE6 ")
using namespace VBE6;
#import "c:\\Program Files\\Microsoft Office\\Office\\EXCEL9.olb " rename( "RGB ", "RGBEx "),rename( "DialogBox ", "DialogBoxEx "),named_guids,rename_namespace( "MSExcel ")
using namespace MSExcel;
------解决方案--------------------
http://www.codeproject.com/wtl/WTLExcel.asp
------解决方案--------------------
为什么要用raw_interfaces_only
我在ATL中要和Excel交互,所以在 stdafx.h 中加入:
#import "C:\\Program Files\\Common Files\\Microsoft Shared\\VBA\\VBA6\\VBE6EXT.OLB "
using namespace VBIDE;
#import "C:\\Program Files\\Microsoft Office\\OFFICE11\\EXCEL.EXE " raw_interfaces_only \
rename( "DialogBox ", "ExcelDialogBox " ) \
rename( "RGB ", "ExcelRGB " ) \
rename( "CopyFile ", "ExcelCopyFile " ) \
rename( "ReplaceText ", "ExcelReplaceText " ) \
exclude( "IFont ", "IPicture ")
我在程序中调用Excel::_Application、Excel::Workbooks 等均正常,但是访问 Excel::Range 时,发现在excel.tlh中的Excel::Range 只有
Range : IDispatch
{};
并没有import 其成员函数,导致我无法使用Excel::Range.
请问如何才能 import Excel::Range 所有的成员函数?谢谢!
另:如果去掉raw_interfaces_only,能import,但是变量类型等使用不方便。
------解决方案--------------------
自已注意下版本
#import "c:\\Program Files\\Microsoft Office\\Office\\mso9.dll " rename_namespace( "Office ")
using namespace Office;
#import "c:\\Program Files\\Common Files\\Microsoft Shared\\VBA\\VBA6\\VBE6EXT.olb " rename_namespace( "VBE6 ")
using namespace VBE6;
#import "c:\\Program Files\\Microsoft Office\\Office\\EXCEL9.olb " rename( "RGB ", "RGBEx "),rename( "DialogBox ", "DialogBoxEx "),named_guids,rename_namespace( "MSExcel ")
using namespace MSExcel;
------解决方案--------------------
http://www.codeproject.com/wtl/WTLExcel.asp
------解决方案--------------------
为什么要用raw_interfaces_only