| 2023/04/26(Wed) 23:44:54 編集(投稿者)
内容が誤っていたので書き直しました。
> こんばんは 桐10sです。 > > どの項目(複数もあり)が列固定されているかを知りたいのですが、 > 方法はあるでしょうか? > > この場合、Bさんが作業始める前に列固定の[A][D][C]の項目名を変数に保存して > [E]を列固定して作業を開始し、作業終了時に再度[A][D][C]を列固定して保存する。 > > このような、一括を作りたいが列固定されている項目が探せないので困っています。 > > 管理工学さんからは、列固定を調べる機能は無いと。
以前、私もK3さんに同じ質問をしたことがありましたよ。 その時も管理工学さんからは「列固定を調べる機能は無い」でしたっけ。(^^ゞ
> 列固定は、保存しても活きていて、再度開いても列固定されたままてすので > 項目の定義情報の中でそのパラメータが書き換えられていると思いますが > 非公開情報なのでしょうか。
非公開情報というような物は無さそうですよ。
当方( ONnoji )がいろいろ試して見出した結果ですが、列固定を反映した項目の並び順を調べる方法はありますよ。
それは、[書き出し 表, <表ファイル名>]コマンドで表を書き出すことです。
次のようにすると列固定を反映して、現在の表示順で書き出せますよ。
書き出し 表, &workTblName, 終了状態 = ©WorkStatus
※{ <項目名><表示幅>/<小数桁>,… }|* | ・・・・・・・・・・・・・・・・・・・ ↑ このパラメータを省略すると、列固定を反映して、現在の表示順で書き出します。非表示の項目は書き出しません。
詳しくは、[桐 - ヘルプ]の[書き出し 表]を読んでください
こうすると、書き出された表は「列固定が反映されて、現在の表示順で書き出されて非表示の項目は書き出れない」のです。
そこで、書き出された表を #項目属性( n, 1 )で調べれば、項目の順番が分かります。
以下はざっくりとイメージですが・・・
変数宣言 自動,文字列{ &bracketLeft = #jis( #hex("5B") ), &comma = #jis( #hex("2C") ) }
&tblFieldList = #u &cnt = 1 &tblFieldName = #項目属性( &cnt, 1 ) 繰り返し ( &tblFieldName ) /* ( &tblFieldName <> #u )でもOK */
&tblFieldList = &tblFieldList + #cond( &tblFieldList, &comma ) + #文字置換( &tblFieldName, &comma, &bracketLeft )
&cnt = &cnt + 1 &tblFieldName = #項目属性( &cnt, 1 ) 繰り返し終了
当方は行っていませんが、おそらく元の表と(#項目番号( str )/#項目属性( n, 1 ) で)比較すれば列固定されている項目も分かるでしょう・・・ね。
つまり、直接的なアプローチで列固定されている項目は検出できませんが、
間接的なアプローチの[書き出し 表, <表ファイル名>]コマンドで表を書き出すと項目の並び順が分かります。
|