The VBA environment is not suitable to display Unicode characters, which are not included in your current character set (ANSI codepage). - From your original problem with the three-dot-character we know that it is not included in your codepage.Not that it's that important, but ChrW(8230) is middle aligned, while dot is bottom aligned.
I really don't know which one is correct.
Not exactly. The core characteristics should be the same but the exact visual appearance depends on the font used to display the characters. However this should not be the problem here, as explained above.Shouldn't Unicode look the same everywhere?
That's the exact thing our IT explained. (#22)but the exact visual appearance depends on the font used to display the characters.
1.
In Western writing systems (like Latin), punctuation marks such as the ellipsis are typically aligned to the baseline, meaning they appear at the bottom of the text line.
In Japanese typography, especially with proportional or monospaced CJK fonts, punctuation like the horizontal ellipsis is usually centered vertically within the character’s square space. This ensures proper rendering in both horizontal and vertical writing modes, which are common in Japanese texts.
As a result, the ellipsis appears higher compared to how it’s positioned in Western fonts — but that’s actually the typographically correct placement in CJK contexts.
2.
The encoding (like Shift-JIS) only determines which Unicode code point a sequence of bytes refers to. It does not define how the character looks on screen.
Instead, the font you’re using is what controls the visual appearance of the character.
CJK fonts such as MS Gothic, MS Mincho, Meiryo, or Yu Gothic are specifically designed for Japanese text. These fonts render U+2026 (horizontal ellipsis) so that it appears vertically centered, which matches Japanese typographic conventions.
"Build As... "
(with a space at the end), the three dots are visible.<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui"><ribbon startFromScratch="false">
<tabs><tab id="TestTab1" label="TestTab123">
<group id="TestGroup1" label="Group..." >
<button id="TestButton1" label="Button1..." size="large" onAction="=Msgbox('Button1...')" />
<button id="TestButton2" label="Button2... " size="large" onAction="=Msgbox('Button2...')" />
</group></tab></tabs></ribbon></customUI>
From Our IT:Which font is used for the ribbon?
Application.LoadCustomUI "AppRibbon", strRibbon
This is the problem.In both types of my apps, ribbon's startFromScratch is set to true.
If RibbonLoaded Then
' Export strings to json file for use in the ribbon.
strPath = GetInstallSettings.strInstallFolder & PathSep & "Ribbon.json"
WriteFile ConvertToJson(GetRibbonStrings, 2), strPath
modCOMAddIn.ReloadRibbon '<-----
End If
Yes. Tabs, Groups, buttons, combos etc would be hidden/disabled for different users with different permissions.But are you developing your application with the hidden ribbon tabs?
I think, @Josef P. was asking whether you hide ribbon tabs while you are developing the application.Tabs, Groups, buttons, combos etc would be hidden/disabled for different users with different permissions.
Yes I do. I don't use Access default ribbon at all.I think, @Josef P. was asking whether you hide ribbon tabs while you are developing the application.
I would guess, (un)loading a COM add-in will trigger Access to reload/reprocess the ribbon XML. - If this is true, the behavior is more or less logical. The only potentially surprising "feature" is that the ribbon XML of the current database is (re)processed last.This is a strange behavior of Access if set startFromScratch="true". (Tested with Version 2503.)
When a COM add-in (with ribbon) is unloaded, all (?) ribbons of COM add-ins disappear.
The watched behavior would confirm this.I would guess, (un)loading a COM add-in will trigger Access to reload/reprocess the ribbon XML. - If this is true, the behavior is more or less logical.
<group idMso='GroupAddins' getVisible='GetVisible' />
modCOMAddIn.ReloadRibbon
in the LoadLanguage procedure of the clsTranslation class, the COM add-in will not be unloaded and the ribbon will not disappear.Private Sub LoadLanguage(strLanguage As String, Optional ByVal ReloadRibbonIfLoaded As Boolean = False)
....
' Reload the ribbon to reflect any translation changes there.
If ReloadRibbonIfLoaded Then '<--- New
If RibbonLoaded Then
' Export strings to json file for use in the ribbon.
strPath = GetInstallSettings.strInstallFolder & PathSep & "Ribbon.json"
WriteFile ConvertToJson(GetRibbonStrings, 2), strPath
modCOMAddIn.ReloadRibbon
End If
End If
End Sub