通过C#设置Excel命名范围? [英] Set Excel Named Ranges via C#?
本文介绍了通过C#设置Excel命名范围?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试使用C#复制此Access VBA代码,但无法这样做。
想知道其他人是否曾经尝试过,可以帮助。
I'm trying to replicate this Access VBA code using C#, but am unable to do so. Wondering if anyone else has tried this before and can help.
oWB.Worksheets(Signoff)。Range(rgSignOffRecTemplate)。Value = g_TemplatePath &安培; Signoff_Rec.XLT
oWB.Worksheets("Signoff").Range("rgSignOffRecTemplate").Value = g_TemplatePath & "Signoff_Rec.XLT"
rgSignOffRecTemplate 是我正在尝试的Excel模板中的定义名称写给。
rgSignOffRecTemplate is a "Defined Name" in the Excel template that I'm trying to write to.
非常感谢您的帮助。
推荐答案
private void ThisWorkbook_Startup(object sender, System.EventArgs e)
{
Excel.Name oName;
Excel.Range oRange;
//'using name
oName = ExcelWorkbook1.Globals.ThisWorkbook.Names.Item("rgSignOffRecTemplate", missing, missing);
oName.RefersToRange.Value2 = "here";
//'using range
oName = this.Names.Item("rgSignOffRecTemplate", missing, missing);
oRange = oName.RefersToRange;
oRange.Value2 = "here i am";
//'direct access
this.Names.Item("rgSignOffRecTemplate", missing, missing).RefersToRange.Value2 = "here i am again";
DisplayWorkbookNames();
}
private void DisplayWorkbookNames() {
for (int i = 1; i <= this.Names.Count - 1; i++) {
Globals.Sheet1.Range["A" + i.ToString(), missing].Value2 = this.Names.Item(i, missing, missing);
}
}
这篇关于通过C#设置Excel命名范围?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文