-
Notifications
You must be signed in to change notification settings - Fork 0
/
ExportText.jsx
50 lines (41 loc) · 1.63 KB
/
ExportText.jsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
// After Effects Script to Export Text from Text Layers to CSV
// Get the active composition
var comp = app.project.activeItem;
// Check if a composition is open
if (comp && comp instanceof CompItem) {
// Prompt the user to choose a location to save the CSV data
var exportFile = File.saveDialog("Save CSV File", "Comma-separated Values:*.csv");
// Check if the user canceled the dialog
if (!exportFile) {
alert("Export canceled by the user.");
} else {
exportFile.open("w");
// Write CSV header
exportFile.writeln("Layer Name,Text");
// Loop through all layers in the composition
for (var i = 1; i <= comp.numLayers; i++) {
var layer = comp.layer(i);
// Check if the layer is a text layer
if (layer instanceof TextLayer) {
// Get the layer name and text content
var layerName = layer.name;
var textContent = layer.text.sourceText.value.text; // Fix here
// Check if textContent is a string
if (typeof textContent === "string") {
// Replace commas with a different character to avoid CSV conflicts
textContent = textContent.replace(/,/g, ";");
// Write layer data to the CSV file without quotes around text
exportFile.writeln(layerName + "," + textContent);
} else {
// If textContent is not a string, write an empty value to the CSV file
exportFile.writeln(layerName + ",");
}
}
}
// Close the export file
exportFile.close();
alert("CSV export complete!\nFile saved to: " + exportFile.fsName);
}
} else {
alert("Open a composition to run this export script.");
}