C# 如何从C中读取VBA常量#

C# 如何从C中读取VBA常量#,c#,excel,vba,constants,C#,Excel,Vba,Constants,我有一个Excel文件,其中包含用户创建的模块中的公共常量,我需要从C#应用程序中读取这些常量 在Excel VBA中,我有一个名为CellDefinitions的模块,例如: Public Const PROJECT_ID_RANGE As String = "A18" 下面是我在C#中尝试的内容,但显然不起作用,因为常量不是宏: var excel = new Microsoft.Office.Interop.Excel.Application(); Workbook

我有一个Excel文件,其中包含用户创建的模块中的公共常量,我需要从C#应用程序中读取这些常量

在Excel VBA中,我有一个名为
CellDefinitions
的模块,例如:

Public Const PROJECT_ID_RANGE As String = "A18"
下面是我在C#中尝试的内容,但显然不起作用,因为常量不是宏:

var excel = new Microsoft.Office.Interop.Excel.Application();
Workbook wb = excel.Workbooks.Add(excelTemplateFile);
var value = excel.Run("CellDefinitions.PROJECT_ID_RANGE");
Excel文件中的常量也作为属性,但不能从C#中读取,因为它们位于
ThisWorkbook
模块中(请参阅)


请注意,我无法编辑Excel文件或其VBA代码(例如,在新模块中创建新函数),因此我只为C部分寻找解决方案。

我不确定,以前从未这样做过。不确定您是否可以访问这样的未知常量,因为在加载书本之前,它不知道常量是什么?它不像你正在加载的类或库。。。您始终可以在Excel中构建一个函数,返回任何给定的常量值。您是否确定它们位于
此工作簿
模块中,而不仅仅是
模块
?我不认为您可以在
此工作簿中包含常量
您最好将全局常量复制到工作簿.customdocumentproperties.Off我不确定,以前从未这样做过。不确定您是否可以访问这样的未知常量,因为在加载书本之前,它不知道常量是什么?它不像你正在加载的类或库。。。您始终可以在Excel中构建一个函数,返回任何给定的常量值。您是否确定它们位于
此工作簿
模块中,而不仅仅是
模块
?我不认为您可以在
此工作簿中包含常量
您最好将全局常量复制到workbook.customdocumentproperties。