- Сообщения
- 2 471
- Реакции
- 1 530
А можете привести здесь эту ссылку? Я у себя попробую.Скрипт по прежнему НЕ СОЗДАЕТ гиперссылку с https, хотя в отчете пишет что создал.
А можете привести здесь эту ссылку? Я у себя попробую.Скрипт по прежнему НЕ СОЗДАЕТ гиперссылку с https, хотя в отчете пишет что создал.
Создаёт.Код:https://en.wikisource.org/wiki/Constitution_of_Ukraine_2004
http://www.memorial.krsk.ru/DOKUMENT/USSR/440511.htm.
http://www.memorial.krsk.ru/DOKUMENT/USSR/440511.htm
var source = doc.hyperlinkTextSources.add(found[i]);
var a=found[i].contents;
found[i].contents=(a.substr(a.length-1,1)=="."?a.substr(0,a.length-1):a);
Тогда точки исчезают и из текста, а там они должны остаться. Задача - выделить текст будущей гиперссылки без точки в конце, а не удалить её.Лень заморачиваться с грепом, проще перед строкой поставить
пример группового программирования со всеми проблемами
Как раз пишу краткую заметку о том, как обходиться без try..catch при написании скриптов. И, главное, зачем.Код:try{ var cshyp = doc.characterStyles.add({name:"hyper"}); alert("Создан символьный стиль hyper"); } catch (e){ var cshyp = doc.characterStyles.item("hyper"); }
Где - в самом документе? Чертовски странноНе, точки в конце всё равно пропадают.
var a=found[i].contents;
var b=(a.substr(a.length-1,1)=="."?a.substr(0,a.length-1):a);
var dest=doc.hyperlinkURLDestinations.add(b);
И мало того, после отработки скрипта и исчезновения точек индизайн вылетает без какого-либо сообщенияГде - в самом документе? Чертовски странно
Если это так, то буддистская логика адобовских программистов снова ставит меня в тупик.И мало того, после отработки скрипта и исчезновения точек индизайн вылетает без какого-либо сообщения
Это что ж, получается, что гиперссылка из выделенного участка текста может указывать только на содержимое этого участка и никуда больше?
// Normalize to http://
fn_grepChange (doc, "(?<!\\/\\/)(www\\.([\\w\\-\\?\\=\\&]+([\\.\\/\\%\\+])*)+)", "http://$0");
// Remove ( space or return ) before ( period or slash )
fn_grepChange (doc, "(https?\\:\\/\\/([\\w\\-\\?\\=\\&]+[\\.\\/]?)+)(\\s|\\n)(\\.|\\/)", "$1$4");
app.findGrepPreferences.findWhat = 'https?\\:\\/\\/([\\w\\-\\?\\=\\&]+([\\.\\/\\%\\+])*)+';
Вот тут то и есть главная заковырка - это действие, кажущееся простым, на самом деле, нетривиально, если вообще возможноизменить найденное на 1 знак влево
Странно как-то. В VBA это было возможно, я часто использовал в вордовских макросах:Вот тут то и есть главная заковырка - это действие, кажущееся простым, на самом деле, нетривиально, если вообще возможно
If Selection.Characters.Last = Chr(13) Then
Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend
End If