[あすかぜ・ねっと]あすかぜ・ねっと自作ソフトCassava > サポート掲示板

Cassava Editor サポート掲示板

スレッド一覧に戻る返信

[879] マクロ 2点教えてください

MEHR [2024/12/19 16:19:46]

2点 教えてください

①3列目の2行目以降に当日日付(yyyy/mm/dd)を設定したい

②12列目2行目以降 値を変換
 ・「希望なし」→空白
 ・午前中 → 0812
 ・19時~21時 → 1921

どうか、よろしくお願いいたします。

Re: [879] マクロ 2点教えてください

あすかぜ [2024/12/19 21:41:35]

次のようなマクロでどうでしょうか。


[3,2] = GetYear() + "/" + GetMonth().padStart(2, "0") + "/" + GetDate().padStart(2, "0");


for (y = 2; y <= Bottom; y++) {
  if ([12,y] == "希望なし") {
    [12,y] = "";
  } else if ([12,y] == "午前中") {
    [12,y] = "0812";
  } else if ([12,y] == "19時~21時") {
    [12,y] = "1921";
  }
}

試してみてください。

Re: [879] マクロ 2点教えてください

MEHR [2024/12/20 21:22:06]

あすかぜ様

ありがとうございます。
すごいです、神様のようです。

一点フォロー願います。


[3,2] = GetYear() + "/" + GetMonth().padStart(2, "0") + "/" + GetDate().padStart(2, "0");

こちらですが「2行目以降 最後の行」まで適用したく思います

上記では「2行目のみ」の適用でした
どこかの情報を変更すればいいでしょうか?

よろしくお願いいたします m(_ _)m

Re: [879] マクロ 2点教えてください

あすかぜ [2024/12/20 22:34:37]

「以降」というのを見落としていました。
複数行をまとめて処理するには、②と同様に for 文を使ってください。
「for (y = 2; y <= Bottom; y++)」が「2 行目から一番下(Bottom)まで」という意味です。

for (y = 2; y <= Bottom; y++) {
  [3,y] = GetYear() + "/" + GetMonth().padStart(2, "0") + "/" + GetDate().padStart(2, "0");
}

のようにすれば 2 行目以降最後の行まで適用されると思います。

Re: [879] マクロ 2点教えてください

MEHR [2024/12/21 11:27:07]

あすかぜ様

ありがとうございます。
うまくいきました。

一度これでテストしてみたいと思います。

この度は本当にありがとうございました。
とても感謝しております m(_ _)m

スレッド一覧に戻る返信