No matter how you get to the data into VoiceAttack, one restriction applies: You have to create the command phrases manually(you could also write a script to generate a .vap file so you can import them, but the point is, you can't do it on-the-fly).
It's not currently possible to dynamically add phrases, and I doubt any speech recognition engine will correctly pick up "Ayr'Ka" without them.
As for the spreadsheet, you've already mentioned VAextensions. If you export to .csv, it would allow you to access fields by row and column numbers, or search for values.
As people have been asking for this, here's a basic example based on the VAExtensions CSV Samples:
InitializeSet Text [VxFile] to 'SpaceWiki.csv'
Set Text [VxDelimiter] to '|'
Execute external plugin, 'VA Extensions 2.0' and wait for return
Begin Small Integer Compare : [VxError] Equals 0
Write '[Green] File loaded, {INT:VxRowsCount} rows and {INT:VxColumnsCount} columns' to log
End Condition - Exit when condition met
Begin Small Integer Compare : [VxError] Does Not Equal 0
Write '[Red] {TXT:VxResult}' to log
End Condition - Exit when condition met
This loads the file. You only have to call this when the profile loads(or when the data in the .csv changes while it's already loaded).
One caveat to using .csv, which is a limitation of the format: You have to use an uncommon character as a separator. I suggest pipe("|").
Here's how to change that in Microsoft Excel.
[Information;More Information;Astronomical Data;Jump points;Population;Economy] [Ayr'ka system;Ayr'ka 1;Planet Bob]Set Text [VxFile] to 'SpaceWiki.csv'
Set Text [VxArgs] to '{CMDSEGMENT:1}'
Set integer [VxColumn] value to 1
Execute external plugin, 'VA Extensions 2.0' and wait for return
Begin Small Integer Compare : [VxError] Equals 0
Begin Small Integer Compare : [VxRow] Equals 0
Say, 'Value not found' (and wait until it completes)
Else
Write '[Green] Value found at row {INT:VxRow}' to log
End Condition
End Condition
Begin Small Integer Compare : [VxError] Does Not Equal 0
Write '[Red] {TXT:VxResult}' to log
End Condition - Exit when condition met
Set integer [VxColumn] value to [Not Set]
Begin Text Compare : [{CMD}] Contains 'Information'
Set Text [VxColumn] to 'Information'
Else If Text Compare : [{CMD}] Contains 'More Information'
Set Text [VxColumn] to 'More Information'
Else If Text Compare : [{CMD}] Contains 'Astronomical Data'
Set Text [VxColumn] to 'Astronomical Data'
Else If Text Compare : [{CMD}] Contains 'Jump points'
Set Text [VxColumn] to 'Jump Points'
Else If Text Compare : [{CMD}] Contains 'Population'
Set Text [VxColumn] to 'Population'
Else If Text Compare : [{CMD}] Contains 'Economy'
Set Text [VxColumn] to 'Economy'
End Condition
Execute external plugin, 'VA Extensions 2.0' and wait for return
Begin Small Integer Compare : [VxError] Equals 0
Begin Text Compare : [{TXT:VxResult}] Does Not Equal ''
Say, '{TXT:VxResult}' (and wait until it completes)
Else
Say, 'Not available for this entry.' (and wait until it completes)
End Condition
End Condition
Begin Small Integer Compare : [VxError] Does Not Equal 0
Write '[Red] {TXT:VxResult}' to log
End Condition - Exit when condition met
You still have to modify the command phrase whenever you add a new row or column, but this example will read from the spreadsheet like you asked.
.csv used for testing:
Command|Information|More Information|Astronomical Data|Jump Points|Population|Economy
Ayr'ka System|Single star system, Xi'an territory. Primarily a military system focused on supporting, housing, and training Xi'An ground troops. Its close proximity to the Perry Line made it strategically important during the Human / Xi'An cold war. Once relations normalized, Xi'An forces from the Perry Line systems withdrew to here.'||Single Star, Main Sequence Dward-B. system Size 55 Au.|2 Jump points, Ayr'ka t||
Ayr'ka 1|Single star system, Xi'an territory. Primarily a military system focused on supporting, housing, and training Xi'An ground troops. Its close proximity to the Perry Line made it strategically important during the Human / Xi'An cold war. Once relations normalized, Xi'An forces from the Perry Line systems withdrew to here.'|||||
Planet Bob|You can't call a planet "Bob"!|So now you’re the boss. You’re the King of Bob.|Can’t we just call it “Earth”?|No one said you have to live on Bob.|I’m never calling it that.|Titan A.E.
I placed mine in the VAExtensions root directory, so that's where the above example will look for it.
Profile and .csv attached.