РЕДАКТИРОВАТЬ: Я решил свою проблему с помощью другого форума. Это были мои переменные, и я никогда не позволял циклу while определять их, я объявлял их только сверху, поэтому цикл просто рассматривал его как постоянное значение, которое было первой импортируемой записью.
Итак, я пытаюсь заполнить форму Acrobat PDF, которую я создал, с информацией в текстовом файле, а затем сохранить ее в одной из нескольких папок в соответствии с информацией в форме. У меня есть набор папок с именами по диапазонам номеров (например, 1-49, 50-99, 100-149 и т. Д.), И некоторым папкам предшествует буква "z", потому что наша система нумерации для того, что мы отслеживание с помощью этих форм включает в себя некоторые имена, отформатированные с Z в конце (люди здесь, передо мной, вроде бы отстой).
Логика кода, который я пытаюсь исправить, такова (если вы просто хотите увидеть код ниже):
импортировать текстовые данные в цикле while -> использовать indexOf для поиска значения целевого поля для буквы Z -> использовать переключатель для установки 2 блоков кода, 1 для значений, содержащих «z», и 1 для значений без «z» "-> определить, какой блок кода следует запустить, на основе" z "-> используйте substr (0,3), чтобы извлечь первые три символа из значения, и использовать его в блоках кода для сравнения с нашими диапазонами номеров, чтобы увидеть, какой диапазон число попадает в число -> установить переменную со строкой, в соответствии с которой она попадает в диапазон (т. е. «100-149 /») -> перейти к сохранению PDF -> использовать ранее установленную переменную, чтобы изменить выходной каталог saveAs, чтобы который когда-либо изменял диапазон, он переключал нашу переменную и сохранял PDF в соответствующей папке, названной как диапазон номеров -> увеличивал переменную и повторял цикл
Моя проблема сейчас в том, что переменная, которую мы устанавливаем с помощью кода переключателя, выглядит как ноль. Поэтому вместо того, чтобы добавить мою строку и заставить ее создавать PDF-файлы в правильных подпапках, он просто добавляет 0 в начало имени файла и сохраняет его в папке верхнего уровня. Я думал, что у меня правильная логика в разделе переключателей, но, возможно, я просто недостаточно знаком с JS, чтобы увидеть мою проблему.
Код:
ImportES = app.trustedFunction (function () {
var fileName = "/c/Users/jcoleman/Desktop/Endless Slings/Endless Sling Data.txt";
var outputDir = "/c/Users/jcoleman/Desktop/Endless Slings/";
var whichCert = this.getField("PFFSID").value;
var firstThree = whichCert.substr(0,3);
var whichFolder = "0";
var whichCase = whichCert.indexOf("Z");
var err = 0;
var idx = 0;
while (err == 0) {
err = this.importTextData(fileName, idx);
switch (whichCase) {
case 3: {
if (0 < firstThree && firstThree <49)
whichFolder = "z1-49/";
else if (49 < firstThree && firstThree <99)
whichFolder = "z50-99/";
else if (99 < firstThree && firstThree <149)
whichFolder = "z100-149/";
else if (149 < firstThree && firstThree <199)
whichFolder = "z150-199/";
else if (199 < firstThree && firstThree <249)
whichFolder = "z200-249/";
else if (249 < firstThree && firstThree <299)
whichFolder = "z250-299/";
else if (299 < firstThree && firstThree <349)
whichFolder = "z300-349/";
else if (349 < firstThree && firstThree <399)
whichFolder = "z350-399/";
else if (399 < firstThree && firstThree <449)
whichFolder = "z400-449/";
else if (449 < firstThree && firstThree <499)
whichFolder = "z450-499/";
else if (499 < firstThree && firstThree <549)
whichFolder = "z500-549/";
else if (549 < firstThree && firstThree <599)
whichFolder = "z550-599/";
else if (599 < firstThree && firstThree <649)
whichFolder = "z600-649/";
else if (649 < firstThree && firstThree <699)
whichFolder = "z650-699/";
else if (699 < firstThree && firstThree <749)
whichFolder = "z700-749/";
else if (749 < firstThree && firstThree <799)
whichFolder = "z750-799/";
else if (799 < firstThree && firstThree <849)
whichFolder = "z800-849/";
else if (849 < firstThree && firstThree <899)
whichFolder = "z850-899/";
else if (899 < firstThree && firstThree <949)
whichFolder = "z900-949/";
else if (949 < firstThree && firstThree <999)
whichFolder = "z950-999/";
break;
}
case -1: {
if (0 < firstThree && firstThree <49)
whichFolder = "1-49/";
else if (49 < firstThree && firstThree <99)
whichFolder = "50-99/";
else if (99 < firstThree && firstThree <149)
whichFolder = "100-149/";
else if (149 < firstThree && firstThree <199)
whichFolder = "150-199/";
else if (199 < firstThree && firstThree <249)
whichFolder = "200-249/";
else if (249 < firstThree && firstThree <299)
whichFolder = "250-299/";
else if (299 < firstThree && firstThree <349)
whichFolder = "300-349/";
else if (349 < firstThree && firstThree <399)
whichFolder = "350-399/";
else if (399 < firstThree && firstThree <449)
whichFolder = "400-449/";
else if (449 < firstThree && firstThree <499)
whichFolder = "450-499/";
else if (499 < firstThree && firstThree <549)
whichFolder = "500-549/";
else if (549 < firstThree && firstThree <599)
whichFolder = "550-599/";
else if (599 < firstThree && firstThree <649)
whichFolder = "600-649/";
else if (649 < firstThree && firstThree <699)
whichFolder = "650-699/";
else if (699 < firstThree && firstThree <749)
whichFolder = "700-749/";
else if (749 < firstThree && firstThree <799)
whichFolder = "750-799/";
else if (799 < firstThree && firstThree <849)
whichFolder = "800-849/";
else if (849 < firstThree && firstThree <899)
whichFolder = "850-899/";
else if (899 < firstThree && firstThree <949)
whichFolder = "900-949/";
else if (949 < firstThree && firstThree <999)
whichFolder = "950-999/";
}
}
if (err == -1)
app.alert("Error: Cannot Open File");
else if (err == -2)
app.alert("Error: Cannot Load Data");
else if (err == 1)
app.alert("Warning: User Cancelled File Select");
else if (err == 2)
app.alert("Warning: User Cancelled Row Select");
else if (err == 3)
app.alert("Warning: Missing Data");
else if (err == 0) {
this.saveAs(outputDir + whichFolder + "ES-" + this.getField("PFFSID").value + ".pdf");
idx++;
}
}
});
// menu item
app.addMenuItem({
cName: "ImportES",
cUser: "Import Endless Slings",
cParent: "Edit",
cExec: "ImportES()",
cEnable: "event.rc = (event.target != null);",
nPos: 1
});