質問
変数を利用して作業の自動化をしたいが、どのようなCSV、JAVAを作成すれば良いか分からない。
添付のようなレイアウトに写真、テキストを自動で流し込みたく
CSVデータを作成し、スクリプトを作成しましたが、エラーになってしまいうまくいきません。
javaあまり分からず、AIで作成したコードのため問題があるかと思うのですが、どのような設計にするとやりたい作業が自動化できるか知りたくご教示いただけますと幸いです。
現在は、変数からオブジェクトとの紐付けを手動で行い
スクリプト>その他のスクリプト>jsxとCSVを選択 で実行しています。
自動化したいレイアウト

作成したCSV

コード
// ExtendScript for Adobe Illustrator
var csvFile = File.openDialog("Select CSV file");
if (csvFile != null) {
csvFile.open("r");
var content = csvFile.read();
csvFile.close();
var lines = content.split("\n");
var headers = lines[0].split(",");
var data = [];
for (var i = 1; i < lines.length; i++) {
data.push(lines[i].split(","));
}
var doc = app.documents.add();
var pageWidth = doc.width;
var pageHeight = doc.height;
var frameWidth = 296.25;
var frameHeight = 390;
var padding = 10;
var x = padding;
var y = padding;
for (var i = 0; i < data.length; i++) {
var studioName = data[i][1];
var month = data[i][0];
var amount = data[i][2];
var averageAmount = data[i][3];
var imageFileName = data[i][4];
if (i == 0 || data[i][1] != data[i - 1][1]) {
var heading = doc.textFrames.add();
heading.contents = studioName + "・" + month + "・平均金額: " + averageAmount;
heading.position = [x, y];
y += heading.height + padding;
}
var imageFile = new File(imageFileName);
if (imageFile.exists) {
var placedImage = doc.placedItems.add();
placedImage.file = imageFile;
placedImage.position = [x, y];
placedImage.width = frameWidth;
placedImage.height = frameHeight;
y += frameHeight + padding;
var amountText = doc.textFrames.add();
amountText.contents = amount;
amountText.position = [x, y];
y += amountText.height + padding;
}
if (y + frameHeight + padding > pageHeight) {
x += frameWidth + padding;
y = padding;
}
}
}
エラー画面

