2.1.7.17 RangeName
Description
Add new named range, or update existing named range
Syntax
int RangeName( LPCSTR lpcszName, LPCSTR lpcszRange, int nScope, LPCSTR lpcszComments = NULL )
Parameters
- lpcszName
- [input] range name, must conform to variable name rule
- lpcszRange
- [input] a range string to add, NULL to test existance (1=existed, 0=not)
- nScope
- [input] 0=sheet, 1=book, 2=project
- lpcszComments
- [input] comment
Return
if succeed return 0, otherwise return negative error code.
Examples
EX1
//name the selected range in active worksheet
void RangeName_ex(string strName)
{
Worksheet wks;
DataRange dr;
dr.Create();
//get selected data range
bool bFromFindDlg = false, bCheckLabelRows = true;
if( GSS_WKS_VALID_SEL > get_sheet_sel(wks, dr, bFromFindDlg, bCheckLabelRows) )
{
out_str("no worksheet selection");
return;
}
//check whether data range has been named or not
string strExistName;
int nOldScope = dr.HasNamedRange(strExistName);
if(nOldScope >= 0 && strName.CompareNoCase(strExistName) == 0)
{
out_str("name no change");
return;
}
string strRange;
dr.GetRangeString(strRange, NTYPE_SHORT_NAME_ONLY|NTYPE_ALWAYS_SHOW_COLUMN);
int nScope = 1;//book
nScope |= NRANGE_SUPPORT_LABEL_AREA;
//if data range has been named, update
if( !strExistName.IsEmpty() )
{
strRange = strExistName;
nScope |= NRSCOPE_TO_BACKUP(nOldScope);
nScope |= NRANGE_UPDATE_EXISTING;
}
int nRet = RangeName(strName, strRange, nScope, "it is a test");
if(nRet != 0)
out_int("err = ", nRet);
else
out_str("done");
}
Remark
See Also
Header to Include
origin.h
Reference
|