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

Cassava Editor サポート掲示板

スレッド一覧に戻る返信

[806] 1行目のデータ(日付)を5行コピーするマクロは

烏賊げそ太郎 [2024/01/11 20:06:46]

マクロ記録にて
Select(1, 29, 1, 33);
Paste(1);
Select(1, 29, 1, 33);
Paste(1);
Select(1, 50, 1, 54);
Paste(1);
Select(1, 71, 1, 75);
Paste(1);
Select(1, 92, 1, 96);
Paste(1);
Select(1, 113, 1, 117);
Paste(1);
Select(1, 134, 1, 138);
Paste(1);
Select(1, 155, 1, 159);
Paste(1);
Select(1, 176, 1, 180);
Paste(1);
Select(1, 197, 1, 201);
Paste(1);
Select(1, 218, 1, 222);
Paste(1);
Select(1, 239, 1, 243);
Paste(1);
Select(1, 260, 1, 264);

行      1
28 2023/1/2 15:21
29 2023/1/2
30 2023/1/2
31 2023/1/2
32 2023/1/2
33 2023/1/2

 上記で貼り付けコピーすると、日付だけコピーされる。
日付 時刻まで貼り付けするマクロは?

Re: [806] 1行目のデータ(日付)を5行コピーするマクロは

あすかぜ [2024/01/11 21:21:49]

データ形式が「Default」になっている場合、空白文字も区切り文字として扱われ、セルが分かれてしまいます。
マクロの先頭に

SetActiveDataType("CSV");

という 1 行を追加することで回避できるのではないかと思います。
この命令は Cassava Editor 2.5 で新しく追加した命令なので、以前のバージョンを使っている場合には最新版への更新をお願いします。
よろしくお願いします。

Re: [806] 1行目のデータ(日付)を5行コピーするマクロは

烏賊げそ太郎 [2024/01/14 08:44:09]

  1 行を追加することで回避できるのではとのことで、コピペ追加してみましたが。

SetActiveDataType("CSV");
Select(1, 29, 1, 33);
Paste(1);
:
:
:

結果として

行      1
28 2023/1/2 15:21
29 SetActiveDataType("CSV");
30 SetActiveDataType("CSV");
31 SetActiveDataType("CSV");
32 SetActiveDataType("CSV");
33 SetActiveDataType("CSV");

となります。どうしたものか

Re: [806] 1行目のデータ(日付)を5行コピーするマクロは

あすかぜ [2024/01/14 11:15:02]

マクロの中に Copy() 命令がないので、マクロを実行するとその時にクリップボードにコピーされていた文字列が貼り付けられます。
いま気づいたのですが、「マクロの記録」では単一セルのコピーが記録できないようですね。すみません。
バグとして新しいスレッドを作っておきました。
https://www.asukaze.net/soft/cassava/bbs/index.cgi?t=807

[オプション(O)]-[オプション(O)...] メニューでオプションダイアログを開き、
左側のツリーで「動作」を選択して
「単一セル選択時はすぐに編集モードに入る」をオフにすることで
単一セルのコピーも記録できるようになるのではないかと思います。

もしくは、手作業で
Select(1, 28, 1, 28);
Copy();
のような命令を追加すればマクロ内でコピーを実行できます。

もしくは、クリップボードを使用せずにデータをコピーするマクロを書くこともできます。
[1,29] = [1,28];
[1,30] = [1,28];
[1,31] = [1,28];
[1,32] = [1,28];
[1,33] = [1,28];
のように記述すれば、29 行目から 33 行目までに 28 行目の内容がコピーされます。

お手数をおかけしますがよろしくお願いします。

Re: [806] 1行目のデータ(日付)を5行コピーするマクロは

烏賊げそ太郎 [2024/01/16 10:32:42]

クリップボードを使用せずにデータをコピーするマクロを書くこともできます。

を参考にさせていただきました対応ありがとうございます。

スレッド一覧に戻る返信