我不想在工作表选项卡的开头而是末尾添加一个新的工作表。但我只能设法让它在前线发挥作用。
workSheet = workSheets.OleFunction("Add");
我如何更改这行代码以使其在末尾添加?
Worksheets.Add()
方法具有可选的Before
和After
参数:
Before
一个对象,用于指定添加新工作表的工作表。After
一个对象,用于指定添加新工作表的工作表。如果
Before
和After
都被省略,则将在活动工作表之前插入新工作表。
您需要设置After param
Excel::_WorksheetPtr newSheet;
if (const auto sheetsCount = m_book->Worksheets->GetCount(); sheetsCount == 0)
newSheet = m_app->Worksheets->Add();
else
{
IDispatchPtr dispatch = m_app->Worksheets->GetItem(sheetsCount); // Number of sheet, not index
newSheet = m_app->Worksheets->Add(vtMissing, dispatch.GetInterfacePtr(), 1);
}
return newSheet;