ILinelistSpecs
Defines the public contract for the LinelistSpecs class, exposing lazy-loaded accessors for all specification collaborators (dictionary, choices, translations, geo, analysis, passwords, format, exports, formulas), metadata helpers for temporary sheet names and category lookups, and lifecycle methods for preparing, exporting, and error-managing the specifications workbook.
Lifecycle
ResetCaches #
Refresh all cached collaborators
Signature:
Public Sub ResetCaches()
Cache management and workbook reference. Resets every cached collaborator object, sheet reference, translation cache, and category cache so subsequent reads query the workbook again. Call after importing new data to ensure stale caches are cleared.
DesWorkbook #
Designer workbook hosting the specifications
Signature:
Public Property Get DesWorkbook() As Workbook
Returns the designer workbook reference that backs all specification queries. Raises an error if the workbook has not been assigned.
Returns: Workbook. The designer/specifications workbook.
CoreSpecifications
Dictionary #
Linelist dictionary
Signature:
Public Property Get Dictionary() As ILLdictionary
Lazy-loaded accessors for specification collaborator objects. Returns the ILLdictionary instance providing column and row access to the Dictionary worksheet. Lazy-loaded on first access.
Returns: ILLdictionary. The dictionary collaborator.
Choices #
Choices catalogue
Signature:
Public Property Get Choices() As ILLChoices
Returns the ILLChoices instance providing category lookups from the Choices worksheet. Lazy-loaded on first access.
Returns: ILLChoices. The choices collaborator.
DesignFormat #
Visual formatting specifications
Signature:
Public Property Get DesignFormat() As ILLFormat
Returns the ILLFormat instance providing sheet and cell formatting methods based on the __formatter worksheet. Lazy-loaded on first access.
Returns: ILLFormat. The format collaborator.
Analysis #
Analysis setup specifications
Signature:
Public Property Get Analysis() As IAnalysis
Returns the IAnalysis instance providing access to the Analysis worksheet configuration. Lazy-loaded on first access.
Returns: IAnalysis. The analysis collaborator.
ExportObject #
Export column specifications
Signature:
Public Property Get ExportObject() As ILLExport
Returns the ILLExport instance providing access to export column definitions from the Exports worksheet. Lazy-loaded on first access.
Returns: ILLExport. The export collaborator.
Password #
Password manager
Signature:
Public Property Get Password() As IPasswords
Returns the IPasswords instance providing workbook and sheet protection utilities from the __pass worksheet. Lazy-loaded on first access.
Returns: IPasswords. The password collaborator.
GeoObject #
Geographic data manager
Signature:
Public Property Get GeoObject() As ILLGeo
Returns the ILLGeo instance providing geographic hierarchy lookups from the Geo worksheet. Lazy-loaded on first access.
Returns: ILLGeo. The geo collaborator.
FormulaDataObject #
Formula data provider
Signature:
Public Property Get FormulaDataObject() As IFormulaData
Returns the IFormulaData instance providing formula parsing support from the __formula worksheet. Lazy-loaded on first access.
Returns: IFormulaData. The formula data collaborator.
HasTemplate #
Whether the workbook uses a ribbon template
Signature:
Public Property Get HasTemplate() As Boolean
Reads the RNG_MainTemp named range on the Main worksheet and returns True when the value equals "has template".
Returns: Boolean. True when a template is configured.
Translations #
Translation tables manager
Signature:
Public Property Get Translations() As ILLTranslation
Returns the ILLTranslation instance providing access to all translation ListObjects on the consolidated translation worksheet. Lazy-loaded on first access.
Returns: ILLTranslation. The translations collaborator.
DesignerTranslations #
Designer translation accessor
Signature:
Public Property Get DesignerTranslations() As IDesignerTranslation
Returns the IDesignerTranslation instance providing designer UI translations from the DesignerTranslation worksheet. Lazy-loaded on first access.
Returns: IDesignerTranslation. The designer translation collaborator.
TransObject #
Scoped translation object
Signature:
Public Property Get TransObject(Optional ByVal translationScope As Byte = TranslationOfMessages) As ITranslationObject
Returns an ITranslationObject for the requested translation scope. Results are cached per scope value for efficient repeated access.
Parameters:
translationScope: Optional Byte. The translation scope constant (e.g., TranslationOfMessages, TranslationOfDictionary, TranslationOfShapes). Defaults to TranslationOfMessages.
Returns: ITranslationObject. The scoped translation object.
MetadataHelpers
TemporarySheetName #
Temporary sheet name for a given scope
Signature:
Public Property Get TemporarySheetName(ByVal scope As Byte) As String
Derived accessors for temporary sheet names, tag values, and categories. Returns the fixed worksheet name used for temporary internal sheets, based on the TempSheetScope enum (TempSheetAnalysis, TempSheetList, etc.).
Parameters:
scope: Byte. A TempSheetScope enum value.
Returns: String. The worksheet name string.
Value #
Configuration value by tag name
Signature:
Public Property Get Value(ByVal tagName As String) As String
Returns a configuration value from the Main worksheet for the given tag name. The special tag "numberofexports" returns the export count from the Exports worksheet; all other tags resolve the named range directly on the Main sheet.
Parameters:
tagName: String. The configuration key to look up.
Returns: String. The configuration value.
Categories #
Resolve category values for a variable
Signature:
Public Function Categories(ByVal varName As String, Optional ByVal useShortlabels As Boolean = False) As BetterArray
Returns the list of category values for a choice-type variable (choice_manual, choice_multiple, choice_custom, or choice_formula). Results are cached per variable name and short-label flag for efficient repeated access.
Parameters:
varName: String. The variable name whose categories to resolve.useShortlabels: Optional Boolean. When True, returns short labels instead of full labels. Defaults to False.
Returns: BetterArray. Cloned list of category values.
WorkbookManagement
Prepare #
Prepare all specifications using an import service
Signature:
Public Sub Prepare(ByVal importService As IDesignerImportService)
Preparation, export, and error management operations. Orchestrates the full specification preparation workflow: creates a new output workbook, exports designer components via the import service, retrieves exported domain instances, then prepares the dictionary with preserved names, adds list auto columns, translates and sorts all collaborators. Handles errors with cleanup.
Parameters:
importService: IDesignerImportService. The configured import service holding imported setup data.
LLWorkbook #
The output linelist workbook created during Prepare
Signature:
Public Property Get LLWorkbook() As Workbook
Returns the linelist workbook created by Prepare that received exported data from the import service. Returns Nothing before Prepare is called.
Returns: Workbook. The linelist workbook, or Nothing.
OutputTemporaryRepos #
The temporary repository created during Prepare
Signature:
Public Property Get OutputTemporaryRepos() As ITemporaryRepos
Returns the ITemporaryRepos instance created by Prepare for working files. Returns Nothing before Prepare is called.
Returns: ITemporaryRepos. The temporary repository, or Nothing.
ErrorManage #
Display an error dialog for specification failures
Signature:
Public Sub ErrorManage(Optional ByVal textMessage As String = vbNullString)
Shows a message box describing the error and aborts the linelist creation process.
Parameters:
textMessage: Optional String. Error description. Defaults to vbNullString.