Htmlのタグを判定して改行したり、行頭位置をコントロールするのでしょうか。
人にもよるでしょうが、dimとか、いくつかのものは、コードの行頭に置くのが普通でしょうが、
私の場合、Select Case とか For は、ほとんど行頭ですが、Ifでも、行頭に置くことが多いとは言え、行中に使うこともあります。 入力したコードを自動的に改行をして欲しいと思ったことはありません。
改行を入力した行の行頭位置で、次の行の行頭が始まるのも、それなりに便利だと思っています。
IFで始まるブロックや、Forで始まるブロックを入力するときには、私は、次の行に End IF やNextを入力して行頭位置を一致させてしまってから、End IFやNextの行頭に戻り改行を入れて空行のブロックにして、そこに内容を入力します。
元にもどっても半角スペース2つ後から始まるとか。
コメント(6件)
いくつか事例をあげていただけると答えやすくなります。
IFで始まる箇所が半角スペース2つの後からだったら
End IFも半角スペース2つ後から始まるとか。
こんな感じです。
これらを手動ではなく自動で実施したい。
直打ちするとぐちゃぐちゃになりがちで見難いのと、
人に提供するときにみっともないというのを避けたい
のです。
『余計なスペースや改行』は【入ってしまう】のではなくて【自分が入れた】のではないかと思います。
なにが余分であるのか、どれだけ入れるのが見やすいかは、個人の感覚の問題もあると思います。適当にインデントしたり、行を開ける(空改行を入れる)ことも場合によっは、見やすく知る工夫だと思っています。
1行のコードを複数行に分割して表示させたい場合も、区切りの付け方は、本人の理解とか、コードの内容によって変わると思います。
1行を区切った次の行の実質書き出し位置をどこにするのかも、人でなくては、、、
> Function Area5gon_xy(x1, x2, x3, x4, x5, y1, y2, y3, y4, y5) As Variant
> '五角形の面積xy座標から求めます
> '3角形が3つ合わさったものが5角形
> Area5gon_xy = Area3Angle_xy(x1, x2, x3, y1, y2, y3) + _
> Area3Angle_xy(x1, x3, x4, y1, y3, y4) + _
> Area3Angle_xy(x1, x4, x5, y1, y4, y5)
> End Function
> For n = 0 To array_size - 2
> '3角形が(n-2)合わさったものがn角形
> AreaPolygon_xyarray = AreaPolygon_xyarray + _
> Area3Angle_xy(xs(0), xs(n + 1), xs(n + 2), ys(0), ys(n + 1), ys(n + 2))
> Next n
表示される1行の長さも、画面のウインドウの幅の広げ方で変わります。印刷する場合も縮小印字の仕方で適当な量が違います。
「見た目」をきれいできるような機能をもつフリーソフトがあるとして、カスタマイズが必要ではないかと思います。 それよりも直に自力でスペースを入れたり、改行を入れる方が良いと私は思います。
例えばマイクロソフトのFrontPageというソフトがあります。
まあ、htmlを編集できるソフトなんですが、
例えばぐっちゃぐっちゃで改行すら入っていないようなhtml記述を入れても、
ちゃんと自動的に見栄えをキレイにしてくれます。
すごい便利です。
このイメージのようなことがVBA記述でもできるものがあっても変では
ないと思うのです。同じような機能のものが欲しい。
もちろん細かいメンテは手動でやりますが、大雑把なメンテはやってほしい。
FrontPage程度でよいので。
マイクロソフトのFrontPageを使ったことがないので、イメージが湧きません。
Htmlのタグを判定して改行したり、行頭位置をコントロールするのでしょうか。
人にもよるでしょうが、dimとか、いくつかのものは、コードの行頭に置くのが普通でしょうが、
私の場合、Select Case とか For は、ほとんど行頭ですが、Ifでも、行頭に置くことが多いとは言え、行中に使うこともあります。 入力したコードを自動的に改行をして欲しいと思ったことはありません。
miku1973さんは、ブラインドタッチで入力されるのかもしれませんが、頭の中のイメージでは、何かのブロッキングをしてるのではないでしょうか。 その段落の終わりや、文の終わりで、改行を入力すれば、ほとんどきれいに整形されていませんか。
改行を入力した行の行頭位置で、次の行の行頭が始まるのも、それなりに便利だと思っています。
IFで始まるブロックや、Forで始まるブロックを入力するときには、私は、次の行に End IF やNextを入力して行頭位置を一致させてしまってから、End IFやNextの行頭に戻り改行を入れて空行のブロックにして、そこに内容を入力します。
元にもどっても半角スペース2つ後から始まるとか。
http://miyahorinn.fc2web.com/vbabegin/s_06.html
http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/vba_vbe.html
http://www.add-ins.com/macro-products-for-Microsoft-Excel/how-to-indent-vba-code/how-to-indent-vba-code.htm
http://translate.google.co.jp/translate?hl=ja&sl=en&u=http://www.add-ins.com/macro-products-for-Microsoft-Excel/how-to-indent-vba-code/how-to-indent-vba-code.htm&ei=JZ4QTeriG4OmvgO72JH_DQ&sa=X&oi=translate&ct=result&resnum=7&ved=0CFMQ7gEwBg&prev=/search%3Fq%3DSmart%2BIndenter%26num%3D20%26hl%3Dja%26prmd%3Divns
CoolDriverさんの回答に いい答えがあるかもしれません。 開いてご覧になったらいかがでしょうか。