我正在将 MFC C++ COM 插件转换为 C# .NET4.0 中的 VSTO Excel 插件。里面有很多引用 C API 的代码。这是一个例子。我可能会使用 Excel DNA 来简化我的转换任务。
仅供参考:xlr 是 XLSDK 中的一个类。
//allocate local storage for the reference
m_pControllerReference = new xlr( controllerRange ) ;
//get the name of the book and sheet with the reference
g->Excel.fn( xlSheetNm, *m_pControllerReference ) ;
if ( g->Excel.resultXltype() != xltypeErr )
{
m_referenceSheetName = g->Excel.resultCString() ;
// and get the sheet ID
g->Excel.fn( xlSheetId, xl(m_referenceSheetName) ) ;
if ( g->Excel.resultXltype() != xltypeErr )
{
m_controllerSheetId = g->Excel.resultSheetId() ;
xlr theRange( m_pControllerReference->GetLPXLOPER(),
0, TRUE ) ;
if(theRange.nRows() >6)
........etc
这样转换吗?
m_pControllerReference = (Excel.Range)controllerRange;
m_referenceSheetName =
(string)XlCall.Excel(XlCall.xlSheetNm, m_pControllerReference );
m_controllerSheetId = XlCall.Excel(XlCall.xlSheetId,
m_referenceSheetName); // and get the sheet ID
//how to convert this ?
//xlr theRange( m_pControllerReference->GetLPXLOPER(),
0, TRUE ) ;
或者有没有更好的方式来转换而不求助于第三方实用程序?我可以在 VSTO 中做所有事情吗?是否有 C API 到 C# 转换的图表?