0

从基于代码创建的 OpenOffice/LibreOffice Calc 文档中,想法是添加一个工作表作为第一个工作表,然后删除所有其他工作表(通常该文档带有 3 个工作表)。

它在 Windows 上使用 xHarbour 语言程序中的 OLE,但如果有人知道使用任何语言,任何语言都可以,翻译不是问题。

我使用工作表名称让它工作。我认为这应该更好地直接使用索引来删除它们,但是我无法仅使用索引来做到这一点。

我得到的代码是:

oPlan := oSheetDoc:GetSheets()
oPlan:insertNewByName("My New Sheet", 0)
DO WHILE oPlan:GetCount() > 1
    oPlan:removeByName(oPlan:GetByIndex(oPlan:GetCount()-1):getName())
ENDDO

我认为这应该是我在 OpenOffice 的在线文档中找不到的“按索引删除”。

任何人都知道是否有办法只使用索引,或者比我做得更好?

4

1 回答 1

1

根据https://forum.openoffice.org/en/forum/viewtopic.php?f=20&t=94494,工作表只能按名称删除。

oSheets = oDoc.Sheets
aSheetNames() = oSheets.getElementNames()
for iSheet = 1 to ubound(aSheetNames)
    oSheets.removeByName(aSheetNames(iSheet))
next iSheet
于 2021-12-21T13:58:04.037 回答