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

标签 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)复制到 vector 中?
  • 有没有比Item合适的方法?

最佳答案

我从未使用 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"))
...

参见 MSDN有关 Range 类的更多信息。

关于c++ - Excel 自动化。如何复制多个单元格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/573649/

相关文章:

c++ - 从没有关联 memcpy 的套接字从内核空间读取到用户空间

c++ - 使用 C++ 的矩阵代数

(Pointer) 指针的 C++ 概念问题

c# - 从javascript触发服务器端事件

excel - 无法使用列标题搜索和替换值

excel - 更新表后刷新 BDH。布隆伯格。伏巴

c# - 这里的 "this"关键字是什么意思?

c# - 如何在 NHibernate 中映射 Collection<T>?

c# - 在 checkin 和未决更改窗口中获取选定的文件?

vba - 自动打开子 VBA