掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
FlexGridコントロールの列の幅自動調整 (ID:75026)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
少々強引めですが、以下の自作プロシージャがそのまま使えます。 気に入れば、、、の話ですが。 '===================================================================== '処理内容 グリッドの指定列のカラム幅を最長文字列に合わせて、AutoFitする。 '引数 lTargetCol (I/ )指定列位置 ' oObjGrid (I/O)対象のグリッド ' [vMinLen] (I/ )セル幅の最小値(※ 省略化) '戻り値 なし '===================================================================== Sub SGridColumnAutoFit(lTargetCol&, oObjGrid As MSFlexGrid, Optional vMinLen) Dim i Dim dTmpLen# 'テンポラリーLength Dim dMaxLen# '最大Length Const ciCelLen% = 120 With oObjGrid If .Rows < 1 Or .Cols < 1 Then Exit Sub '引数(vMinLen)省略 If IsMissing(vMinLen) Then vMinLen = 0 '最大Length初期値設定 dMaxLen = Val(vMinLen) For i = 0 To .Rows - 1 'テンポラリーLength取得 dTmpLen = ciCelLen * LenB(StrConv(.TextMatrix(i, lTargetCol), vbFromUnicode)) '最大Lengthかの判断 If dTmpLen > dMaxLen Then dMaxLen = dTmpLen Next i 'セル幅を最長文字列に合わせて設定 'AutoFit .ColWidth(lTargetCol) = dMaxLen End With End Sub
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.