【发布时间】:2019-04-18 10:50:01
【问题描述】:
是否可以为每个 Excel 工作簿设置唯一的 GUID 属性。因此,即使用户重命名工作表,我也可以通过工作表唯一 GUID 以编程方式检索正确的工作表。
我们正在创建一个插件,即使用户将其重命名为不同的值,它也应该能够指向正确的 Excel 表。
在 Excel 工作表对象中找不到任何句柄或属性。
Microsoft.Office.Interop.Excel.Worksheet sheet1 in ActiveWorkbook.Worksheets
【问题讨论】:
-
直接在 Excel 中,您可以在 VBA 编辑器中使用“名称”属性。这是与项目相关的 woksheet 的技术名称。是互操作方法中的“代码名称”吗?不确定,但如果您不确定,值得研究。如果工作簿是您可以编辑的东西,您似乎可以这样做...docs.microsoft.com/en-us/office/vba/api/…
-
如果我尝试访问或写入不允许的代号中的任何内容,则它不是代号。例如,我可以使用 (Microsoft.Office.Core.DocumentProperties)ActiveWorkbook.CustomDocumentProperties 设置工作簿信息
-
您可以访问工作簿吗?如果这样做,请打开它,转到 VBA 编辑器,在相关工作表的属性中更改工作表的 CodeName,保存它,然后返回到您的互操作实现,看看 CodeName 现在是否设置为您设置的内容在 VBA 编辑器中。如果是这样,您可以使用它。当然,如果您生成工作簿,则不能使用它,只有当您打开您可以控制的预先存在的工作簿时。有道理?我在 VBA 中使用了这种精确的方法,因为这就是该属性的全部意义。
-
是的,现在就试试。提前致谢
-
如果这行得通,我会把它作为答案。 ;-)
标签: excel spreadsheet guid uniqueidentifier