By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
425,773 Members | 2,307 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 425,773 IT Pros & Developers. It's quick & easy.

Check which language packs are installed

PhilOfWalton
Expert 100+
P: 1,430
I have several Language packs installed with my database, visible in the File-->Options-->Language Tab.

Under Proofing (Spelling Grammar) In most cases it shows "Installed", but not in the case of Mongolian.

When you download the Mongolian Pack from https://support.office.com/en-gb/art...2-05b026ee809f
it says that it does not include proofing tools.

So that is logical, but frustrating, and nothing I can do about it.

So the question is using VBA as there a way to detect which language packs are installed, and which are not.

Thanks

Phil
Jan 26 '18 #1

✓ answered by NeoPa

Hi Phil.

Here are what I suspect are some very helpful replies :
Karl Donaubauer:
Hi Adrian,
other than looking into the registry as already written by Daniel:
If he has used Windows Installer he can use method 2 of this article:
How to determine the version of an installed 2007 Office language pack
He needs to adjust the vbs code slightly to really become VBA (as pretended in the headline) but that's easy.
I've tested it here with Win7 in Access 2013 and it listed all the 3-4 languages for all the newer Office products installed on the machine (2007-2013).
I guess this will not work with O365 CTR and I don't know what "structure" CTR installs.
A brutal workaround I could imagine would be to search the Office folder (syscmd(acSysCmdAccessDir)) for numeric subfolder names (i.e. the language IDs) and have a look in each folder (Dir etc.) if there are several files not only the 1 "dummy" MSO.ACL (at least here with Office 2013). Should be easy to code.

Karl (Austrian MVP)
Daniel Pineault:
Stab in the dark here, but Iíd probably take a look at reading

HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\C ommon\LanguageResources\EnabledLanguages

And see if it hold the info he is after.
(Canadian Access MVP)

Share this Question
Share on Google+
11 Replies


NeoPa
Expert Mod 15k+
P: 31,417
Hi Phil.

Here are what I suspect are some very helpful replies :
Karl Donaubauer:
Hi Adrian,
other than looking into the registry as already written by Daniel:
If he has used Windows Installer he can use method 2 of this article:
How to determine the version of an installed 2007 Office language pack
He needs to adjust the vbs code slightly to really become VBA (as pretended in the headline) but that's easy.
I've tested it here with Win7 in Access 2013 and it listed all the 3-4 languages for all the newer Office products installed on the machine (2007-2013).
I guess this will not work with O365 CTR and I don't know what "structure" CTR installs.
A brutal workaround I could imagine would be to search the Office folder (syscmd(acSysCmdAccessDir)) for numeric subfolder names (i.e. the language IDs) and have a look in each folder (Dir etc.) if there are several files not only the 1 "dummy" MSO.ACL (at least here with Office 2013). Should be easy to code.

Karl (Austrian MVP)
Daniel Pineault:
Stab in the dark here, but Iíd probably take a look at reading

HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\C ommon\LanguageResources\EnabledLanguages

And see if it hold the info he is after.
(Canadian Access MVP)
Jan 26 '18 #2

PhilOfWalton
Expert 100+
P: 1,430
Thanks Neopa

Have tried both Karl's method & searching the Registry. Both reveal the languages available, but don't seem to indicate whether they are installed.

This is a picture of the registry



I had hoped the Data column might reveal something, but only the Mongolian hasn't got the proofing tools

Phil
Jan 27 '18 #3

NeoPa
Expert Mod 15k+
P: 31,417
So what are you after? Whether they're installed or whether they have proofing tools or both?
Jan 27 '18 #4

PhilOfWalton
Expert 100+
P: 1,430
Actually the proofing tools.

On my translation database ... still finding the odd bugs, I run a spelling check on the translated words (Using the built in Spell Check in Excel)

For this to run, it needs the proofing tools.

What I am trying to do is if the spell check won't work for a particular language, I don't want to throw an error by failing to do the spell check - just say that it can't be done and go on to check the next language.

Phil
Jan 27 '18 #5

NeoPa
Expert Mod 15k+
P: 31,417
I've followed on but not too hopeful of anything further. I imagine they have already given what they had.

Obviously, if I do hear more, I'll pass it on here.
Jan 28 '18 #6

PhilOfWalton
Expert 100+
P: 1,430
Thanks for trying.

I have bodged my way out of the situation by in my TblLanguages, I set a flag as to whether the Proofing Tools are available.

It really isn't my style of programming, as I like to reduce the possibility of users inputing wrong information as much as possible, and obviously setting and unsetting flags can go wrong.

Anyway it looks as if there is no other option, so unless something new does crop up, it's Hobson's choice

As ever, many thanks

Phil
Jan 28 '18 #7

NeoPa
Expert Mod 15k+
P: 31,417
Here's another one for you Phil :
Daniel Pineault:
Adrian,

You can look one level higher to determine the currently defaulted/installed language

HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\C ommon\LanguageResources\UILanguage
HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\C ommon\LanguageResources\HelpLanguage

As for proofing tools, Iíll see what I can dig up.
Jan 28 '18 #8

NeoPa
Expert Mod 15k+
P: 31,417
And another :
Daniel Pineault:
2 more things you can look into regarding proofing

HKLM\SOFTWARE\Software\Wow6432Node\Microsoft\Offic e\15.0\Common\InstalledPackages
Then loop through the listing and look for those that match your list of installed languages -> ProductLanguage = 1033 (for example) and then check the (Default) to see if it is the Microsoft Office Proofing (LanguageName) Ö

I also came across
HKCU\Software\Microsoft\Shared Tools\Proofing Tools\Grammar\MSGRammar and then loop through looking to the language codes

Sadly, I donít have any setup that donít include the proofing tools, so I canít test out any of the above, but hopefully it can give them a path to try.
Jan 28 '18 #9

PhilOfWalton
Expert 100+
P: 1,430
Thanks Daniel & Adrian, that might give a starting position

I have found these Registry entries which look promising and failed to find a similar entry for Mongolian which again looks promising.

So 2 problems.
I guess that the
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Off ice\
will be common to everyone, but have my doubts about the "ClickToRun........."
The Default Value is
"Microsoft Office Proofing Tools 2016 - English"

So I'm guessing that the only fixed bits we know are
"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ "
and
"Microsoft Office Proofing Tools"
and a language.

I have no idea if the registry can be searched on so little information as I have a feeling that you need to supply the complete key, which obviously will vary depending on the version of Office.

Is it possible?

Thanks

Phil
Jan 29 '18 #10

NeoPa
Expert Mod 15k+
P: 31,417
That seems like a totally separate question Phil. One I should be able to help with directly when I see it posted.

I may even be able to help with some working code.
Jan 29 '18 #11

PhilOfWalton
Expert 100+
P: 1,430
Well, it's really a continuation, but as usual, I will take your advice and start a new thread.

Phil
Jan 29 '18 #12

Post your reply

Sign in to post your reply or Sign up for a free account.