表部品の列幅を自動調整する方法

投稿者:はいじ 投稿日:2018/03/13(Tue) 09:41:14 No.2016

はじめまして。初心者ですが教えてください。表部品の列幅を自動調整したいのですが可能でしょうか?
表部品の列見出しの右端をダブルクリックすると列幅が自動調整されますが、その動きをプログラムで書きたいです。
よろしくお願いします。

Re: 表部品の列幅を自動調整する方法

投稿者:アーク 投稿日:2018/03/13(Tue) 18:05:31 No.2017

はいじさん、こんばんは。アークです。

横から失礼します。

表部品の列幅をプログラムで個別に指定する事は可能ですが、
それを自動調整するのですか。
それが可能ならば私も知りたいです。

補足になります

投稿者:はいじ 投稿日:2018/03/13(Tue) 22:40:04 No.2019

はじめまして、アーク様。

私の説明不足かもしれませんので
補足させていただきます。

表部品の列幅を自動調整(データに合わせて自動的に変更)したいタイミングは
ボタンをクリックしてデータ表をデータに変えた直後です。

以下、サンプルです

/*ここから*/
ボタン1がクリックされた時の手順
データというデータ表を作る
データに{「あ」、「い」、「う」}という列を加える
データへ{あ=「123」、い=「456」、う=「789」}を加える
表部品1のデータ表をデータに変える
表部品1の1列目から列部品を取得して、その幅を100に変える
/*ここまで*/

最終行の「幅を100に変える」の部分において
「幅を自動に変える」を実現する方法を
教えていただきたいです。

Re: 補足になります

投稿者:アーク 投稿日:2018/03/13(Tue) 22:55:33 No.2020

はいじさん、はじめまして、アークです。

はいじさんの質問に便乗してしまって済みません。

似たような事をHTAで遣った事が有るのですが、
フォントの字幅を計算しました。
欧文が混じると正確な文字幅の計算が困難になります。
それをプロデルが遣ってくれるなら有り難いのですが、
私もプロデルを始めて日が浅いので良く分かりません。

他の方法としてはセル毎にオーバーフローのフラグが立つのなら、
それが消えるまでセル幅を広げるとかでしょうか。
自動調整機能は有るのでしょうか。

検証してみました

投稿者:アーク 投稿日:2018/03/15(Thu) 13:48:14 No.2022

はいじさん、こんにちは。アークです。

表部品の列幅を自動調整する内部手順は見付かりませんでしたが、
独自の手順を作成して対応できる事は確認できました。
繰り返しを多用したトリッキーな方法ですが…。

検証不足ですが解決しました

投稿者:はいじ 投稿日:2018/03/15(Thu) 23:32:08 No.2023

こんばんは、アーク様

検証までしていただいて申し訳ございません。
自分なりに試行錯誤した結果、列幅の自動調整が実現できました。
アーク様の「繰り返し」と「トリッキー」をヒントにさせていただきました。
ありがとうございました。

レベルが低くて恐縮ですが、手順としては
ラベル部品が持っている自動調整とラベルの大きさを使いました。
処理用にラベルを1つ設置。
表部品のセルの内容をラベルにセットし、自動調整後のラベルの大きさを取得。
これを行数分繰り返し、ラベルの大きさの最大値を表部品の列幅にセットしました。
(実際に列幅にセットした値はラベルの大きさ+10でフィットしました)
処理後にラベルの内容をクリアしているので見た目では全く気付きませんが
表部品の行数が増えたときにどうなるのか検証が必要かと思います。
使い物にならない可能性もあります・・・。

アーク様の手順が気になりますので
差し支えなければお時間あるときに教えていただけると幸いです。

おめでとうございます

投稿者:アーク 投稿日:2018/03/16(Fri) 11:26:28 No.2027

はいじさん、こんにちは。アークです。

解決おめでとうございます。

〉差し支えなければお時間あるときに教えていただけると幸いです。
私が採ったのも正にこの方法です。
ラベルコントロールには自動調整機能が有る事に気付き試したら上手く行きました。

値を1から個数まで増やしながら繰り返す
  ラベル1の内容を「(※此処に必要な文字列が入るようにする)」に変える
  一覧は、ラベル1の位置と大きさ
  タイトル長は、一覧(3)
繰り返し終わり

こんな感じでしょうか。

取得用に使うラベルは{0,-200,0,12}のようにスクリーン外に追い遣ると、
見た目もよろしいですよ。

ありがとうございました

投稿者:はいじ 投稿日:2018/03/19(Mon) 23:23:43 No.2034

こんばんは、アーク様

例文をいただきありがとうございます。
私とほぼ一緒だったので一安心です。

> 取得用に使うラベルは{0,-200,0,12}のようにスクリーン外に追い遣ると、
> 見た目もよろしいですよ。

なるほどですね、そんな技があるのですね。
使わせていただきます。

今後とも宜しくお願いいたします。

▲ページの先頭へ

- WebForum -