gpt4 book ai didi

C# Excel VBA 使模块名称不依赖于语言

转载 作者:行者123 更新时间:2023-11-30 14:49:06 27 4
gpt4 key购买 nike

excelFile.VBProject.VBComponents.Add(vbext_ComponentType.vbext_ct_StdModule);

英文版 Office 中的这段代码创建了名为“Module1”的模块。但如果办公语言不同,“模块 1”将使用另一种语言。我需要知道如何在我的代码中调用此模块。

var standardModule = excelFile.VBProject.VBComponents.Item("ThisWorkbook");    

同样的问题在英文版的Office中“ThisWorkbook”存在,但在另一种语言中会被不同的调用。

有没有可能让这段代码语言独立?

最佳答案

excelFile.VBProject.VBComponents.Add(vbext_ComponentType.vbext_ct_StdModule);

VBComponents.Add 是一个函数,返回刚刚添加的对象 - 但您要丢弃该引用。

您需要做的就是保留该引用:

var component = excelFile.VBProject.VBComponents.Add(vbext_ComponentType.vbext_ct_StdModule);

然后你可以随意重命名它(但在父项目中必须是唯一的):

component.Name = "RenameMe";

...或者如果您只需要知道它的名称,它就在那里供您阅读:

Debug.WriteLine(component.Name);

关于C# Excel VBA 使模块名称不依赖于语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39371692/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com