Excel自动化。如何复制多个单元格?

时间:2009-02-21 20:01:04

标签: c++ visual-studio-2008 excel com automation

例如:

 //omitted

vector<_bstr_t> cellData;

Excel::_WorksheetPtr pSheet = application->ActiveSheet;

Excel::RangePtr pRange = application->Cells;

_bstr_t cellValue = pRange->Item[1][1]; //single cell

cellData.push_back(cellValue);

 //omitted

没有

  • MFC
  • ATL

问题:

  • 如何将多个单元格(例如A1:B1)复制到向量中?
  • 是否有更强适当的方法,而不是项目

1 个答案:

答案 0 :(得分:1)

我从未使用C ++进行任何Excel自动化,但如果它与VBA宏类似,则WorkSheet类应具有Range属性,该属性返回工作表中的一系列单元格。您可以通过给出两个单元格id或表示范围的字符串来指定您想要的范围。

伪VBA中的代码:

Dim range As Range
Set range = ActiveSheet.Range("B12:D34")
Set range = ActiveSheet.Range("B12", "D34")
Set range = ActiveSheet.Range("B12", ActivSheet.Range("D34"))
...

有关Range类的更多信息,请参阅MSDN