Quantcast
Channel: Adobe Community : Popular Discussions - InDesign Scripting
Viewing all articles
Browse latest Browse all 15932

Script to search for text and remove hyperlink and characterstyle that is applied (return to normal)

$
0
0

I need help with my script to search for text and remove hyperlink and characterstyle that is applied (return the text to normal).

 

I can't get it to do either the way I want.  I want the user to be able to type into a dialog the text they want to search for, have it search for that text IGNORING case (case-insensitive) and then for all the occurences that it finds it, remove the character styles that are applied to it (set it to [None]) and remove the hyperlinks.

 

My code seems to set the character style to [None], when I click on the text and look at the Character Styles Window, BUT all the old styles (font color, underline) are still applied to it and not stripped away as I want.

 

Also, I can't seem to figure out how to remove all the old links.

 

Here's my code:

 

var myDocument = app.activeDocument;

var noneStyle = myDocument.characterStyles.item("[None]");

var myFindVal = "";

var myErrorText = "";

var myErrorCount = 0;

var myDialog = app.dialogs.add({name: "Search for the user submitted text and remove hyperlinks from found items.", canCancel: true});

with(myDialog) {

    with(dialogColumns.add()) {

        with(borderPanels.add()) {

            staticTexts.add({staticLabel: "Search and remove hyperlinks for:"});

            var myTextBox = textEditboxes.add({minWidth:100});

        }

    }

}

if (myDialog.show() == true) {

    myFindVal = myTextBox.editContents;

    doSearchAndReplace();

    app.findTextPreferences = NothingEnum.nothing;

    app.changeTextPreferences = NothingEnum.nothing;

    if (myErrorCount == 0) {

        alert("Done! Part hyperlinks have been removed for: '" + myFindVal + "'!");

    }

    else {

        alert("Last Error Message: '" + myErrorText + "' & Error Count: " + myErrorCount);

    }

}

myDialog.destroy();

function doSearchAndReplace() {

    app.findTextPreferences.findWhat = myFindVal;

    app.findChangeTextOptions.caseSensitive = false;

    app.findChangeTextOptions.includeFootnotes = false;

    app.findChangeTextOptions.includeHiddenLayers = false;

    app.findChangeTextOptions.includeLockedLayersForFind = false;

    app.findChangeTextOptions.includeLockedStoriesForFind = false;

    app.findChangeTextOptions.includeMasterPages = false;

    app.findChangeTextOptions.wholeWord = false;

    var myFoundItems = myDocument.findText();

    for (i = 0; i < myFoundItems.length; i++) {

        myRemoveHyperlinkAndStyle(myFoundItems[i]);

    }

}

function myRemoveHyperlinkAndStyle(myFoundItem) {

    try {

        myDocument.hyperlinkTextDestinations.item(myFoundItem).remove();

        myDocument.hyperlinkTextSources.item(myFoundItem).remove();

        myDocument.hyperlinkURLDestinations.item(myFoundItem).remove();

       myFoundItem.applyCharacterStyle(noneStyle);

    }

    catch(myError) {

        myErrorCount++;

        myErrorText = myError;

    }

}


Viewing all articles
Browse latest Browse all 15932

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>