Вставка стандартного текста перед DOI (строка с конкретными характеристиками) в Microsoft VBA для Word - PullRequest
0 голосов
/ 08 июля 2019

Я пытаюсь адаптировать существующий код VBA для Word (макрос), который создает прокси-ссылки для пользователей, которые имеют доступ к библиотечным ресурсам через академический институциональный доступ. По сути, мне нужно иметь возможность вставлять URL перед простым DOI. Поэтому мне нужно найти код, который превратится, например: 10,3389 / fpsyg.2019.01393 в: OurStandardProxyUrl10.3389 / fpsyg.2019.01393

Я совершенно новичок в кодировании vba, поэтому я кое-что прочесал. Во-первых, определение проблемы DOI здесь хорошо трактуется: Поиск DOI в документе или на странице Который в регулярных выражениях. Нет проблем, я думаю, что я понял, как сделать регулярное выражение пригодным для макросов Word здесь: https://analystcave.com/excel-regex-tutorial/ Но я чувствую, что код, который я написал, неправильно ... активирует регулярное выражение? Он отображается красным (как ошибка). Кроме того, я не чувствую, что код правильно «вызывает» часть DOI ($ pattern). Простите за мое невежество, я когда-либо видел только $, используемый в jquery, поэтому я не уверен в его значении здесь или в том, как с ним работать!

Вот примерно то, что я имею до сих пор:

'настройка распознавания регулярных выражений для преобразования DOI - активация автоматически в ссылках vba Dim regex as Object Set regex = CreateObject ("VBScript.RegExp") [от: https://analystcave.com/excel-regex-tutorial/]

$ pattern = '\ b (10 [.] [0-9] {,} (?: [.] [0-9] +) / (?: (?! ["& \' ]) \ S) +) \ b '; // или $ pattern = '\ b (10 [.] [0-9] {3,} (?: [.] [0-9] +) / (?: (?! ["& \']) [[: график:]]) +) \ Ъ '; [от: Поиск DOI в документе или на странице [может быть, мне нужно объявить это как строку или что-то в этом роде?]

'healio DOI Sub AddTextBeforeSelection () Selection.InsertBefore Text: = "OurStandardProxyUrl" End Sub

Когда я пытаюсь запустить макрос, частью которого я являюсь, я получаю сообщение «не могу работать в режиме прерывания». Когда я просто пытаюсь запустить AddTextBeforeSelection, я просто получаю «OurStandardProxyUrl», где бы ни был активен курсор на странице.

Заранее большое спасибо !!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...