Макрос Word ведет себя по-разному в macOS - PullRequest
0 голосов
/ 08 октября 2019

Я написал небольшую программу в MS Word VBA, которая прекрасно работает на всех компьютерах с Windows, на которых я ее развернул. Однако на компьютерах под управлением macOS возникают проблемы:

В коллекции я всегда сохраняю массив как значение и присваиваю ему уникальный ключ. Эти массивы всегда содержат последовательность (например, 'a \') с индексом 0 и до 5, объединяющих диакритические знаки. Эти диакритические знаки, такие как акцентная могила (например, на à), сохраняются с помощью их числового значения, в данном случае «0300».

Если пользователь открывает форму my user через CTRL + SPACE и вводит \ в поле поиска ('Crea'), в списке ('Risultati') отображаются возможные совпадения этой последовательности, в данном случае à. Это достигается циклическим просмотром коллекции, проверкой последовательности по индексу 0 с записью поиска и, если она соответствует, функция listbox.AddItem ChrW("&H" & collection(1)) & ChrW("&H" & collection(2) объединяет эти диакритические знаки с соответствующим символом и отображает их в списке. Также последовательность символов отображается в поле «секвенза», если вы выделяете символ из списка. После этого пользователь может решить, какой символ из списка будет вставлен. Я ссылаюсь на выбранный индекс списка и вставляю выделение в документ .

Selection.InsertBefore listbox.Column(0, listbox.ListIndex)

Теперь для забавной части:

Некоторые символы списка не скомпонованы правильно, хотя при вставке верны .

Например, e? объединяется в списке в ḗ, хотя это должно быть ẹ. Он вставлен правильно (как though), хотя.

enter image description here

Теперь точно такой же код на машине с Windows действительно правильно комбинирует символ:

enter image description here

Также после сужения критериев поиска в поле «crea» символы отображаются корректно: см.

enter image description here

исопоставленный символ два

enter image description here

Я понятия не имею, что вызывает такое поведение, и ценю каждое предложение.

...