Help me modify the script to fit the width of the current column, thank you ~
The script is to fit the frame to the width of the column.
Now there is a problem that it will fit the column to the width of the leftmost column.
It should fit the width of the column in the upper left corner, and the Y coordinate should not change.
Gods, who can help me revise it?
Thank you very much.

------------------------------
var curDoc = app.activeDocument;
var curSel = app.selection[0];
var gB = curSel.geometricBounds;
// Masseinheiten, Ursprung und Nullpunkt speichern und bei Bedarf verändern
hM = curDoc.viewPreferences.horizontalMeasurementUnits;
vM = curDoc.viewPreferences.verticalMeasurementUnits;
rO = curDoc.viewPreferences.rulerOrigin;
zP = curDoc.zeroPoint;
_setPref();
// Variablen initialisieren
var pWidth = curDoc.documentPreferences.pageWidth;
pWidth = Math.floor((pWidth * 1000) + 0.5) / 1000;
var pHeight = curDoc.documentPreferences.pageHeight;
pHeight = Math.floor((pHeight * 1000) + 0.5) / 1000;
var curPage = app.activeWindow.activePage;
// weitere Variablen deklarieren
var curPage;
var pM;
var curPos;
var allPos = new Array;
if(curPage.side == PageSideOptions.leftHand) {
// bei Doppelseiten bedeutet left > innen; right > außen
pM = curPage.marginPreferences.right;
}
else{
// entweder Einzelseite oder rechte Seite
pM = curPage.marginPreferences.left;
}
// die Anzahl der Spalten auf der Seite
var nC = curPage.marginPreferences.columnCount;
// die Positionen der Spaltenlinien
var colPos = curPage.marginPreferences.columnsPositions;
// Schleife durch alle Positionen, der Spaltenlinien, Werte runden
for (var k=0; k<colPos.length; k++) {
curPos = (Math.floor((colPos[k] * 1000) + 0.5) / 1000) + pM;
allPos.push(curPos);
}
gB[1] = allPos[0];
gB[3] = allPos[1];
curSel.geometricBounds = gB;
if (curSel.constructor.name == "TextFrame") fitFrame(curSel);
_reStorePref();
// --------------------- Funktionen -------------------------
function fitFrame(aFrame) {
var gB = aFrame.geometricBounds;
gB[2] = gB[2]+ 50;
aFrame.geometricBounds = gB;
var lastBaseLine = aFrame.lines.lastItem().baseline;
aFrame.geometricBounds = [ gB[0], gB[1], lastBaseLine, gB[3] ];
}
// Voreinstellungen verändern und zurücksetzen
function _setPref() {
curDoc.viewPreferences.horizontalMeasurementUnits = MeasurementUnits.millimeters;
curDoc.viewPreferences.verticalMeasurementUnits = MeasurementUnits.millimeters;
curDoc.viewPreferences.rulerOrigin = RulerOrigin.PAGE_ORIGIN;
curDoc.zeroPoint = [0,0];
}
function _reStorePref() {
curDoc.viewPreferences.horizontalMeasurementUnits = hM;
curDoc.viewPreferences.verticalMeasurementUnits = vM;
curDoc.viewPreferences.rulerOrigin = rO;
curDoc.zeroPoint = zP;
}
