Sitter med ett par problem med ett script som ska öka graden på varje markerad rad i ett textblock.
Problem 1:
När jag ska öka en rad som bara har ett ord och som inte går att avstava (så jag får 2 rader) så får jag error på raden
if (i==50||myLine.parentTextFrame.overflows)
"Null is not an object"
det verkar som att markeringen försvinner eller nåt. myLine.parentTextFrame.overflows returnerar false tidigare i den loopen.
Problem 2:
Får "Runtime error" på raden
myLine=mySelection.paragraphs.nextItem();
Går det inte att skriva så helt enkelt?
Jag kanske har skrivit det på ett krångligt sätt? Kom gärna med förbättringsidéer.
Tack på förhand
Martin
if (app.windows.length < 1) {
alert("Öppna ett dokument först.");
exit();
}
var myDocument = app.activeDocument;
var mySelection = myDocument.selection[0];
if (mySelection!=undefined) {
var myTextFrame = mySelection.parentTextFrame;
if (mySelection=="[object Text]") {
var myLine=mySelection.paragraphs.firstItem();
var punkter=20;
for (x=0; x<=mySelection.paragraphs.length; x++) {
for (z=0; z<=4; z++) {
var i=0;
while (myLine.lines.length==1) {
myLine.pointSize += punkter;
i++;
if (i==50||myLine.parentTextFrame.overflows)
break;
}
i=0;
punkter=(punkter/2);
while (myLine.lines.length>1) {
myLine.pointSize -= punkter;
i++;
if (myLine.pointSize==0.1)
break;
}
}
//##### Finjustera #####
i=0;
punkter=0.01;
while (myLine.lines.length==1) {
myLine.pointSize += punkter;
i++;
if (i==100||myLine.parentTextFrame.overflows)
break;
}
myLine.pointSize -= punkter;
myLine=mySelection.paragraphs.nextItem();
}
}
else {
alert("Markera en textsnutt först")
}
}
else {
alert("Markera nåt först")
}