> 変数 tblObj はスクリプト実行時に選択されているもので、
> switch文で「セル、表、行、列 の時だけ動く」としてあります。
> これをそのままペーストすると動かないことがあるので、わざわざダミーのテキストフレームにペーストして、それを初めて変数に入れています。
> ペーストで済むならタブ文字や改行文字の処理など不要なのですが、
> contentsに値を入れるために改行文字とタブ文字で順序よく分割し、配列に連結しています。
> 最後の処理でlengthの比較をしているのも、この配列の要素数ですね。
switch文は理解の為にも置いてありましたが、ここの作業も複雑でしたが contents に格納している意味がようやく繋がりました。応用が利くように残しておくべきかとは思うのですが、まず理解を先決させて今作成しているものからは一旦消して考えてみます。
-eさんが言われていた「どのようにコンテンツが格納されているか」に関してもタブ区切りであるという認識を念頭に置く事が必要だったんですね…
この理解をする限り、わざわざタブへの変換を入れるよりも改行区切りの文字を順番に入れていく方が単純で確実そうですね!
> また、.contents = の流し込み順は変えられないので、タテヨコ逆をやるとしたらfor文でタテ方向にセルを指定しながら1こずつ配列の要素を取り出しながら入れていく、などする必要があります。でも連結セルがあると非常にめんどくさいのでおすすめできません。。
そうすると .contents ではなく、プレーンの改行区切りのままのテキストを列方向に流し込んで、流し込めなかった場合には次の列へ移動して列方向へと流し込む…という進め方が正しいのかな…
> 要素の並べ替えを塾講する必要があります。
> ぶっちゃけ、この並べ替えさえ上手にやれば従来の流し込み順に沿って入れられそうな雰囲気ですが、
> 仕組みを把握できていなければ答えが出なかろうと思います。
> 文字列の配列化、配列の並び順の研究。
> 処理経過の変数の値をよく見守ることです。
お忙しい中での助言ありがとうございます。励みになっています。
人の褌は立派でも褌の結び方も分からないのでは着けようがない…それを痛感している所ですが、考え方がぐるっと変わったおかげで方向性が定まりました。現状未だ書いている途中ですが、進み次第更新していく予定ですのでまた温かい目で見て頂ければ…と思います!
〈作業の方向性〉
1.プレーンな改行のみのテキストをクリップボードに格納
2.クリップボード内の改行の数だけ繰り返す(i=0;…length)
4.選択範囲へペースト(ただペーストする時は列方向に流れた為)
5.ペーストしきれなかった場合には次の列へ(if…)
[20662] 双葉マークP (2021/11/02 Tue 15:01)