C# Snippets


Wbk_NamedRangeConstantAdd

public static void Wbk_NamedRangeConstantAdd(string sNamedRange, string sConstantValue, bool bVisible = false, bool bCheckExists = true)
{
try
{
if (clsError.ErrorFlag() == true)
return;

if (bCheckExists == true)
{
if (clsWbk.NamedRangeExists(sNamedRange) == true)
{
clsWbk.NamedRangeConstantSet(sNamedRange, sConstantValue);
return;
}
}

gApplicationExcel.ActiveWorkbook.Names.Add
(Name: sNamedRange, RefersToR1C1: "=" + sConstantValue, Visible: bVisible);
}
catch (Runtime.InteropServices.COMException objCOMException)
{
mobjCOMException = objCOMException;
}
catch (Exception objException)
{
mobjException = objException;
}

finally
{
if (gbDEBUG_EXCEL == true | ((!mobjCOMException == null) | (!mobjException == null)))
{
string serrortext;

if (bVisible == true)
serrortext = "'Visible'";
if (bVisible == false)
serrortext = "'Hidden'";

clsError.Handle("NamedRangeConstantAdd", "clsWbk", "add the " + serrortext + " named range '" + sNamedRange + "' " + "with the constant value '" + sConstantValue + "'.", mobjCOMException, mobjException);
}
}
}
Public Shared Sub Wbk_NamedRangeConstantAdd(ByVal sNamedRange As String, _
ByVal sConstantValue As String, _
Optional ByVal bVisible As Boolean = False, _
Optional ByVal bCheckExists As Boolean = True)

Try
If clsError.ErrorFlag() = True Then Exit Sub

If bCheckExists = True Then
If clsWbk.NamedRangeExists(sNamedRange) = True Then
Call clsWbk.NamedRangeConstantSet(sNamedRange, sConstantValue)
Exit Sub
End If
End If

gApplicationExcel.ActiveWorkbook.Names.Add _
(Name:=sNamedRange, _
RefersToR1C1:="=" & sConstantValue, _
Visible:=bVisible)

Catch objCOMException As System.Runtime.InteropServices.COMException
mobjCOMException = objCOMException
Catch objException As Exception
mobjException = objException

Finally
If gbDEBUG_EXCEL = True Or _
((Not mobjCOMException Is Nothing) Or (Not mobjException Is Nothing)) Then

Dim serrortext As String

If bVisible = True Then serrortext = "'Visible'"
If bVisible = False Then serrortext = "'Hidden'"

Call clsError.Handle("NamedRangeConstantAdd", "clsWbk", _
"add the " & serrortext & " named range '" & sNamedRange & "' " & _
"with the constant value '" & sConstantValue & "'.", _
mobjCOMException, mobjException)
End If
End Try
End Sub

Wbk_NamedRangeConstantSet

public static void Wbk_NamedRangeConstantSet(string sNamedRange, string sConstantValue, string sWshName = "")
{
Excel.Workbook objworkbook;

try
{
if (clsError.ErrorFlag() == true)
return;

int inamescounter;

objworkbook = gApplicationExcel.ActiveWorkbook;

for (inamescounter = 1; inamescounter <= objworkbook.Names.Count; inamescounter++)
{
if (objworkbook.Names.Item(inamescounter).Name == sNamedRange)
{
objworkbook.Names.Item(inamescounter).RefersToR1C1 = "=" + sConstantValue;
break;
}
}
}
catch (Runtime.InteropServices.COMException objCOMException)
{
mobjCOMException = objCOMException;
}
catch (Exception objException)
{
mobjException = objException;
}

finally
{
if (gbDEBUG_EXCEL == true | ((!mobjCOMException == null) | (!mobjException == null)))
clsError.Handle("NamedRangeConstantSet", "clsWbk", "change the contents of the named range '" + sNamedRange + "'.", mobjCOMException, mobjException);
}
}
Public Shared Sub Wbk_NamedRangeConstantSet(ByVal sNamedRange As String, _
ByVal sConstantValue As String, _
Optional ByVal sWshName As String = "")

Dim objworkbook As Excel.Workbook

Try
If clsError.ErrorFlag() = True Then Exit Sub

Dim inamescounter As Integer

objworkbook = gApplicationExcel.ActiveWorkbook

For inamescounter = 1 To objworkbook.Names.Count
If objworkbook.Names.Item(inamescounter).Name = sNamedRange Then
objworkbook.Names.Item(inamescounter).RefersToR1C1 = "=" & sConstantValue
Exit For
End If
Next inamescounter

Catch objCOMException As System.Runtime.InteropServices.COMException
mobjCOMException = objCOMException
Catch objException As Exception
mobjException = objException

Finally
If gbDEBUG_EXCEL = True Or _
((Not mobjCOMException Is Nothing) Or (Not mobjException Is Nothing)) Then

Call clsError.Handle("NamedRangeConstantSet", "clsWbk", _
"change the contents of the named range '" & sNamedRange & "'.", _
mobjCOMException, mobjException)
End If
End Try

End Sub

Wbk_NamedRangeDeleteLoopPrefix

public static bool Wbk_NamedRangeDelete(string sNamedRange, string sWshName, string sWbkName = "")
{
try
{
if (clsError.ErrorFlag() == true)
return;

Excel.Workbook objworkbook;
Excel.Names objNames;
Excel.Name objName;

int inamescount;
bool bfound;

bfound = false;

// need to add the same for workbooks

objWorkbook = gApplicationExcel.ActiveWorkbook;

objNames = objworkbook.Names;

for (inamescount = 1; inamescount <= objNames.Count; inamescount++)
{
objName = objNames.Item(inamescount);

if (objName.Name == sWshName + "!" + sNamedRange)
{
objName.Delete();
break;
}
}
}
catch (Runtime.InteropServices.COMException objCOMException)
{
mobjCOMException = objCOMException;
}
catch (Exception objException)
{
mobjException = objException;
}

finally
{
if (gbDEBUG_EXCEL == true | ((!mobjCOMException == null) | (!mobjException == null)))
clsError.Handle("NamedRangeDelete", msCLASSNAME, "delete the 'worksheet' named range '" + sNamedRange + "'.", mobjCOMException, mobjException);
}
}
Public Shared Function Wbk_NamedRangeDelete(ByVal sNamedRange As String, _
ByVal sWshName As String, _
Optional ByVal sWbkName As String = "") _
As Boolean

Try
If clsError.ErrorFlag() = True Then Exit Function

Dim objworkbook As Excel.Workbook
Dim objNames As Excel.Names
Dim objName As Excel.Name

Dim inamescount As Integer
Dim bfound As Boolean

bfound = False

'need to add the same for workbooks

objWorkbook = gApplicationExcel.ActiveWorkbook

objNames = objworkbook.Names

For inamescount = 1 To objNames.Count
objName = objNames.Item(inamescount)

If objName.Name = sWshName & "!" & sNamedRange Then
objName.Delete()
Exit For
End If
Next

Catch objCOMException As System.Runtime.InteropServices.COMException
mobjCOMException = objCOMException
Catch objException As Exception
mobjException = objException

Finally
If gbDEBUG_EXCEL = True Or _
((Not mobjCOMException Is Nothing) Or (Not mobjException Is Nothing)) Then

Call clsError.Handle("NamedRangeDelete", msCLASSNAME, _
"delete the 'worksheet' named range '" & sNamedRange & "'.", _
mobjCOMException, mobjException)
End If
End Try
End Function

Wbk_NamedRangeExists

public static bool Wbk_NamedRangeExists(
Excel.Workbook workbook,
string namedRange)
{
try
{
if (workbook == null || namedRange == null)
{
return false;
}
foreach (Excel.Name name in workbook.Names)
{
if (name == null || name.Name == null)
{
continue;
}

if (name.Name.ToLower().Equals(namedRange.ToLower()))
{
return true;
}
}
return false;
}
catch (System.Exception ex)
{
ExceptionHandling.MessageShow(System.Reflection.MethodBase.GetCurrentMethod(), ex);
return false;
}
}

Public Shared Function Wbk_NamedRangeExists(ByVal sNamedRange As String, _
Optional ByVal sWshName As String = "", _
Optional ByVal sWbkName As String = "") _
As Boolean

Dim objWorkbook As Excel.Workbook
Dim objNames As Excel.Names
Dim objName As Excel.Name

Try
If clsError.ErrorFlag() = True Then Exit Function

Dim inamescount As Integer
Dim bfound As Boolean

bfound = False
objWorkbook = gApplicationExcel.ActiveWorkbook
objNames = objWorkbook.Names
For inamescount = 1 To objNames.Count
objName = objNames.Item(inamescount)

If objName.Name = sNamedRange Then
bfound = True
Exit For
End If
Next
NamedRangeExists = bfound

Catch objCOMException As System.Runtime.InteropServices.COMException
gobjCOMException = objCOMException
Catch objException As Exception
gobjException = objException

Finally
objWorkbook = Nothing
objNames = Nothing
objName = Nothing

If gbDEBUG_EXCEL = True Or _
((IsNothing(gobjCOMException) = False Or IsNothing(gobjException) = False)) Then

Call clsError.Handle("NamedRangeExists", "clsWbk", _
"determine if the 'workbook' named range '" & sNamedRange & "' exists.", _
gobjCOMException, gobjException)
End If
End Try
End Function

Wbk_NamedRangeGet

public static string Wbk_NamedRangeGet(string sNamedRange, bool bRemoveEquals = true)
{
Excel.Workbook objworkbook;

try
{
if (clsError.ErrorFlag() == true)
return;

int inamescounter;

objworkbook = gApplicationExcel.ActiveWorkbook;

for (inamescounter = 1; inamescounter <= objworkbook.Names.Count; inamescounter++)
{
if (objworkbook.Names.Item(inamescounter).Name == sNamedRange)
{
NamedRangeGet = objworkbook.Names.Item(inamescounter).Value;
break;
}
}

if (bRemoveEquals == true)
NamedRangeGet = NamedRangeGet.Substring(1, NamedRangeGet.Length - 1);
}
catch (Runtime.InteropServices.COMException objCOMException)
{
mobjCOMException = objCOMException;
}
catch (Exception objException)
{
mobjException = objException;
}

finally
{
if (gbDEBUG_EXCEL == true | ((!mobjCOMException == null) | (!mobjException == null)))
clsError.Handle("NamedRangeGet", "clsWbk", "return the contents of the named range '" + sNamedRange + "'.", mobjCOMException, mobjException);
}
}
Public Shared Function Wbk_NamedRangeGet(ByVal sNamedRange As String, _
Optional ByVal bRemoveEquals As Boolean = True) _
As String

Dim objworkbook As Excel.Workbook

Try
If clsError.ErrorFlag() = True Then Exit Function

Dim inamescounter As Integer

objworkbook = gApplicationExcel.ActiveWorkbook

For inamescounter = 1 To objworkbook.Names.Count

If objworkbook.Names.Item(inamescounter).Name = sNamedRange Then

NamedRangeGet = objworkbook.Names.Item(inamescounter).Value
Exit For
End If

Next

If bRemoveEquals = True Then
NamedRangeGet = NamedRangeGet.Substring(1, NamedRangeGet.Length - 1)
End If

Catch objCOMException As System.Runtime.InteropServices.COMException
mobjCOMException = objCOMException
Catch objException As Exception
mobjException = objException

Finally
If gbDEBUG_EXCEL = True Or _
((Not mobjCOMException Is Nothing) Or (Not mobjException Is Nothing)) Then

Call clsError.Handle("NamedRangeGet", "clsWbk", _
"return the contents of the named range '" & sNamedRange & "'.", _
mobjCOMException, mobjException)
End If
End Try

End Function

Wsh_NamedRangeConstantAdd

public static void Wsh_NamedRangeConstantAdd(string sWshName, string sNamedRange, string sConstantValue, bool bVisible = false, bool bHidden = false)
{
try
{
if (clsError.ErrorFlag() == true)
return;

Excel.Worksheet objworksheet;

objWorksheet = (Excel.Worksheet)gApplicationExcel.Worksheets(sWshName);

objWorksheet.Names.Add
(Name: sNamedRange, RefersToR1C1: "=" + sConstantValue, Visible: bVisible);
}
catch (Runtime.InteropServices.COMException objCOMException)
{
mobjCOMException = objCOMException;
}
catch (Exception objException)
{
mobjException = objException;
}

finally
{
if (gbDEBUG_EXCEL == true | ((!mobjCOMException == null) | (!mobjException == null)))
{
string serrortext;

if (bHidden == true)
serrortext = "'Hidden'";
if (bHidden == false)
serrortext = "";

clsError.Handle("NamedRangeConstantAdd", msCLASSNAME, "add the " + serrortext + " named range '" + sNamedRange + "' with the constant value" + "'" + sConstantValue + "'.", mobjCOMException, mobjException);
}
}
}
Public Shared Sub Wsh_NamedRangeConstantAdd(ByVal sWshName As String, _
ByVal sNamedRange As String, _
ByVal sConstantValue As String, _
Optional ByVal bVisible As Boolean = False, _
Optional ByVal bHidden As Boolean = False)

Try
If clsError.ErrorFlag() = True Then Exit Sub

Dim objworksheet As Excel.Worksheet

objWorksheet = CType(gApplicationExcel.Worksheets(sWshName), Excel.Worksheet)

objWorksheet.Names.Add _
(Name:=sNamedRange, _
RefersToR1C1:="=" & sConstantValue, _
Visible:=bVisible)

Catch objCOMException As System.Runtime.InteropServices.COMException
mobjCOMException = objCOMException
Catch objException As Exception
mobjException = objException

Finally
If gbDEBUG_EXCEL = True Or _
((Not mobjCOMException Is Nothing) Or (Not mobjException Is Nothing)) Then

Dim serrortext As String

If bHidden = True Then serrortext = "'Hidden'"
If bHidden = False Then serrortext = ""

Call clsError.Handle("NamedRangeConstantAdd", msCLASSNAME, _
"add the " & serrortext & " named range '" & sNamedRange & "' with the constant value" & _
"'" & sConstantValue & "'.", _
mobjCOMException, mobjException)
End If
End Try
End Sub

Wsh_NamedRangeConstantSet

public static void Wsh_NamedRangeConstantSet(string sWshName, string sNamedRange, string sConstantValue)
{
Excel.Worksheet objworksheet;

try
{
if (clsError.ErrorFlag() == true)
return;

int inamescounter;

objworksheet = (Excel.Worksheet)gApplicationExcel.Worksheets(sWshName);

for (inamescounter = 1; inamescounter <= objworksheet.Names.Count; inamescounter++)
{
if (objworksheet.Names.Item(inamescounter).Name == sNamedRange)
{
objworksheet.Names.Item(inamescounter).RefersToR1C1 = "=" + sConstantValue;
break;
}
}
}
catch (Runtime.InteropServices.COMException objCOMException)
{
mobjCOMException = objCOMException;
}
catch (Exception objException)
{
mobjException = objException;
}

finally
{
if (gbDEBUG_EXCEL == true | ((!mobjCOMException == null) | (!mobjException == null)))
clsError.Handle("NamedRangeConstantSet", msCLASSNAME, "change the contents of the named range '" + sNamedRange + "'.", mobjCOMException, mobjException);
}
}
Public Shared Sub Wsh_NamedRangeConstantSet(ByVal sWshName As String, _
ByVal sNamedRange As String, _
ByVal sConstantValue As String)

Dim objworksheet As Excel.Worksheet

Try
If clsError.ErrorFlag() = True Then Exit Sub

Dim inamescounter As Integer

objworksheet = CType(gApplicationExcel.Worksheets(sWshName), Excel.Worksheet)

For inamescounter = 1 To objworksheet.Names.Count
If objworksheet.Names.Item(inamescounter).Name = sNamedRange Then
objworksheet.Names.Item(inamescounter).RefersToR1C1 = "=" & sConstantValue
Exit For
End If
Next inamescounter

Catch objCOMException As System.Runtime.InteropServices.COMException
mobjCOMException = objCOMException
Catch objException As Exception
mobjException = objException

Finally
If gbDEBUG_EXCEL = True Or _
((Not mobjCOMException Is Nothing) Or (Not mobjException Is Nothing)) Then

Call clsError.Handle("NamedRangeConstantSet", msCLASSNAME, _
"change the contents of the named range '" & sNamedRange & "'.", _
mobjCOMException, mobjException)
End If
End Try

End Sub

Wsh_NamedRangeDelete

public static bool Wsh_NamedRangeDelete(string sNamedRange, string sWshName, string sWbkName = "")
{
try
{
if (clsError.ErrorFlag() == true)
return;

Excel.Worksheet objWorksheet;
Excel.Names objNames;
Excel.Name objName;

int inamescount;
bool bfound;

bfound = false;

// need to add the same for workbooks

objWorksheet = (Excel.Worksheet)gApplicationExcel.Worksheets(sWshName);

objNames = objWorksheet.Names;

for (inamescount = 1; inamescount <= objNames.Count; inamescount++)
{
objName = objNames.Item(inamescount);

if (objName.Name == sWshName + "!" + sNamedRange)
{
objName.Delete();
break;
}
}
}
catch (Runtime.InteropServices.COMException objCOMException)
{
mobjCOMException = objCOMException;
}
catch (Exception objException)
{
mobjException = objException;
}

finally
{
if (gbDEBUG_EXCEL == true | ((!mobjCOMException == null) | (!mobjException == null)))
clsError.Handle("NamedRangeDelete", msCLASSNAME, "delete the 'worksheet' named range '" + sNamedRange + "'.", mobjCOMException, mobjException);
}
}
Public Shared Function Wsh_NamedRangeDelete(ByVal sNamedRange As String, _
ByVal sWshName As String, _
Optional ByVal sWbkName As String = "") _
As Boolean

Try
If clsError.ErrorFlag() = True Then Exit Function

Dim objWorksheet As Excel.Worksheet
Dim objNames As Excel.Names
Dim objName As Excel.Name

Dim inamescount As Integer
Dim bfound As Boolean

bfound = False

'need to add the same for workbooks

objWorksheet = CType(gApplicationExcel.Worksheets(sWshName), Excel.Worksheet)

objNames = objWorksheet.Names

For inamescount = 1 To objNames.Count
objName = objNames.Item(inamescount)

If objName.Name = sWshName & "!" & sNamedRange Then
objName.Delete()
Exit For
End If
Next

Catch objCOMException As System.Runtime.InteropServices.COMException
mobjCOMException = objCOMException
Catch objException As Exception
mobjException = objException

Finally
If gbDEBUG_EXCEL = True Or _
((Not mobjCOMException Is Nothing) Or (Not mobjException Is Nothing)) Then

Call clsError.Handle("NamedRangeDelete", msCLASSNAME, _
"delete the 'worksheet' named range '" & sNamedRange & "'.", _
mobjCOMException, mobjException)
End If
End Try
End Function

Wsh_NamedRangeGet

public static string Wsh_NamedRangeGet(string sWshName, string sNamedRange, bool bRemoveEquals = true)
{
Excel.Worksheet objworksheet;

try
{
if (clsError.ErrorFlag() == true)
return;

int inamescounter;

objWorksheet = (Excel.Worksheet)gApplicationExcel.Worksheets(sWshName);

for (inamescounter = 1; inamescounter <= objWorksheet.Names.Count; inamescounter++)
{
if (objWorksheet.Names.Item(inamescounter).Name == sNamedRange)
{
NamedRangeGet = objWorksheet.Names.Item(inamescounter).Value;
break;
}
}

if (bRemoveEquals == true)
NamedRangeGet = NamedRangeGet.Substring(1, NamedRangeGet.Length - 1);
}
catch (Runtime.InteropServices.COMException objCOMException)
{
mobjCOMException = objCOMException;
}
catch (Exception objException)
{
mobjException = objException;
}

finally
{
if (gbDEBUG_EXCEL == true | ((!mobjCOMException == null) | (!mobjException == null)))
clsError.Handle("NamedRangeGet", msCLASSNAME, "return the contents of the named range '" + sNamedRange + "'.", mobjCOMException, mobjException);
}
}
Public Shared Function Wsh_NamedRangeGet(ByVal sWshName As String, _
ByVal sNamedRange As String, _
Optional ByVal bRemoveEquals As Boolean = True) _
As String

Dim objworksheet As Excel.Worksheet

Try
If clsError.ErrorFlag() = True Then Exit Function

Dim inamescounter As Integer

objWorksheet = CType(gApplicationExcel.Worksheets(sWshName), Excel.Worksheet)

For inamescounter = 1 To objWorksheet.Names.Count

If objWorksheet.Names.Item(inamescounter).Name = sNamedRange Then

NamedRangeGet = objWorksheet.Names.Item(inamescounter).Value
Exit For
End If

Next

If bRemoveEquals = True Then
NamedRangeGet = NamedRangeGet.Substring(1, NamedRangeGet.Length - 1)
End If

Catch objCOMException As System.Runtime.InteropServices.COMException
mobjCOMException = objCOMException
Catch objException As Exception
mobjException = objException

Finally
If gbDEBUG_EXCEL = True Or _
((Not mobjCOMException Is Nothing) Or (Not mobjException Is Nothing)) Then

Call clsError.Handle("NamedRangeGet", msCLASSNAME, _
"return the contents of the named range '" & sNamedRange & "'.", _
mobjCOMException, mobjException)
End If
End Try

End Function

© 2026 Better Solutions Limited. All Rights Reserved. © 2026 Better Solutions Limited Top