Illustratorで指定した年と月のカレンダーデータを作成してみました。
// カレンダーダイアログを表示して、月と年を入力する関数
function showCalendarDialog() {
    var dialog = new Window("dialog", "カレンダーを作成");
    //表示を左揃え
    dialog.alignChildren = "left";
    var monthGroup = dialog.add("group");
    monthGroup.add("statictext", undefined, " 月:");
    var monthInput = 
    monthGroup.add("edittext", undefined, "", { characters: 2 });
    // ダイアログボックスのサイズを設定
    monthInput.size = [28, 20]; 
    var yearGroup = dialog.add("group");
    yearGroup.add("statictext", undefined, "西暦:");
    var yearInput = 
    yearGroup.add("edittext", undefined, "", { characters: 4 });
    // ダイアログボックスのサイズを設定
    yearInput.size = [45, 20]; 
    var okButton = dialog.add("button", undefined, "OK");
    okButton.onClick = function() {
        var month = parseInt(monthInput.text);
        var year = parseInt(yearInput.text);
        dialog.close();
        //1〜12以外の数値が入力された場合の処理
        if (isNaN(month) || isNaN(year) || month < 1 || month > 12) {
            alert("有効な月を入力してください。");
            return;
        }
        createCalendar(month, year);
    };
    dialog.show();
}
// 指定した月のカレンダーを作成する関数
function createCalendar(month, year) {
    var doc = app.activeDocument;
    var textFrame = doc.textFrames.add();
    // カレンダーの位置を設定 左上が起点で [0、0]
    textFrame.position = [100, -100]; 
    // 月の初めの日を取得
    var startDate = new Date(year, month - 1, 1); 
    // 月の最後の日を取得
    var endDate = new Date(year, month, 0); 
    // カレンダーのテキスト
    var calendarText = ""; 
    // カレンダーのタイトルを追加
    calendarText += month + "月 " + year + "\n\n";
    // 曜日を追加
    calendarText += "日 月 火 水 木 金 土\n";
    // 月の初めの日まで空白を追加
    for (var i = 0; i < startDate.getDay(); i++) {
        calendarText += "   ";
    }
    // 日付を追加
    for (var day = 1; day <= endDate.getDate(); day++) {
        calendarText += day + " ";
        if ((startDate.getDay() + day) % 7 == 0) {
            calendarText += "\n"; // 土曜日の後に改行
        }
    }
    // テキストにカレンダーを設定
    textFrame.contents = calendarText;
}
// カレンダーダイアログを表示してカレンダーを作成
showCalendarDialog();
起動すると月と西暦を入力します。
すると最低限のデータが左上から右に100pt、下に100ptの位置に生成されます。ただし、あくまでも必要最低限のデータなので・・・
Tab等で体裁を整える必要があります。




 
 
 

 
