
このサイトをよく利用させていただいております。特にOffice系ソフトカテゴリーをよく見ます。
OKWebへのお願いに近い質問なのですが、VBAコードを投稿すると、質問・回答を問わず、コード内のインテンドがすべて綺麗さっぱり消滅してしまいます。
非常に見づらくて困ります。
そのため、わざわざインテンドの代わりにスペースキーを何度も打って代用される方もよく見かけます。
(わたしはそこまでは出来ませんが)
不思議なのは、自分が書いた回答にお礼が付いたときに、OKWebからメールが届きますが、その際メールに記載されたわたしの回答にはちゃんとインテンドされているのです!?
不思議に思い、OKWeb画面のソースを表示してみると、わたしはHTMLには疎いのでよくわかりませんがどうもインテンドされているように見えます。
質問は
1.画面ではインテンドが消え、コピペしてもインテンドはされないのに、なぜメールでの通知はインテンドされているのでしょうか?
2.OKWeb画面からインテンド付きの状態でコピペする方法はないでしょうか?
3.なぜOKWebさんは、VBAコードからインテンドを削除するのでしょうか?
4.OKWebさんにVBAコードからインテンドを消さないでとお願いするにはどうしたらよいでしょうか?
No.2ベストアンサー
- 回答日時:
●VBAコードのインデントが消えてしまうのはなぜ?
まず、一般論として、
HTMLドキュメントをIE等のブラウザが解釈して表示する際に、
・連続する半角スペースは単一のスペースとみなす
・行頭の半角スペースは表示しない
のが、標準的な仕様・動作です。
したがって、
投稿されたテキストについて、サイト側で特別な処理をしていない限り、
通常のブラウザでは半角スペースによるインデントは表示されません。
つまり
「インデントを削除している」というよりも
「インデントを表示するための処理をしていない」というのが、
このサイトの現在の仕様です。
----------------------
●1.画面ではインデントが消え、コピペしてもインデントはされないのに、
なぜメールでの通知はインデントされているのでしょうか?
通知メールはHTML形式ではなくテキスト形式で送られてくるので、
投稿したテキストがそのまま表示されます。
----------------------
●2.OKWeb画面からインデント付きの状態でコピペする方法はないでしょうか?
「困難」…と書くつもりでいろいろ試してみたら、意外とできますね(^^
一手間かかりますが、後述のように[ユーザースタイルシート]を作成して切り替えれば、
参考画像のようにインデントが表示され、コピペも可能になります。
----------------------
●3.なぜOKWebさんは、VBAコードからインデントを削除するのでしょうか?
上述の通り、【何もしなければ表示されない】ので、
可能性1.単に何もしてないだけ
可能性2.技術スタッフの能力の問題
といったところでしょう。
----------------------
●4.OKWebさんにVBAコードからインデントを消さないでと
お願いするにはどうしたらよいでしょうか?
・FAQ 追加して欲しい機能/要望があります!
http://faq.okwave.jp/EokpControl?&site=okwave&la …
・サポートへのお問い合わせ
http://faq.okwave.jp/EokpControl?event=DE0001
---------------------------------------------
●ユーザースタイルシートを使う
例えばインターネットエクスプローラをご使用の場合、
1.メモ帳で下記のように記述して、適当な場所に適当な名前で保存する
td {
white-space:pre;
font-family:MS ゴシック;
line-height:80%
}
2.上記txtファイルの拡張子を css に変更する
3.IEを開き、
[ツール]>[インターネットオプション]>[全般]タブ>[ユーザー補助]で、
[自分のスタイルシートでドキュメントの書式を設定する]にチェックし、
2で作成したcssファイルを指定する。
※他の部分の表示が崩れてしまうので、設定しっぱなしというわけにはいきません。
アクセスキーを使って切り替えるにしても
[ALT]+([T]→[O]→[E]→[D]) ⇒ [Enter] ⇒ [Esc]
ですから、実用になるかどうかは微妙ですね。
※インデントの問題だけならwhite-spaceの設定だけで良いのですが、
<br>タグと改行が重複して1行ずつ開いた感じになるのでline-heightを減らしています。
※「コードを見易くする」という趣旨で等幅フォントの設定もしています。
※私にとっても畑違いの分野なので、最良最短の手法とは思いません。
より実用的な対策もありそうに思われます。
---------------------------------------------
なお、コードを投稿する際、
私も全角スペースでインデントをつけるようにしていますが、
投稿直前に半角スペース2つを全角スペース1つに置換しているだけで、
「スペースキーを何度も打って」いるわけではありません、念のため(^^;;;
以上ご参考まで。長乱文陳謝。

ありがとうございます。
そうなんですか、行頭のインデントが消えるのはIEの仕様なのですか。
ではそうならない画面表示はサイト側で特別な処理をしているということなんですね?
自分が見る方法としてはスタイルシートでドキュメントの書式を設定するというのがあるのはわかりました。でもけっこう面倒そうですね。
いっそのことメニューの「表示」、「ソース」でタグ付きのHTMLをコピーしてマクロで不要なHTML独自の記号?を消してしまえばいいのかも知れません。
あとは、誰にでもインデントされた状態で見てもらうには、やはりOKWebさんに「特別な処理」をしてくださいとお願いするしかないわけですね。
そのような声が多ければOKWebさんも考えてくれるかもしれませんね。
ありがとうございました。
No.1
- 回答日時:
全ては投稿システムの自動機能で行われています。
文頭のタブや半角スペースと文末の半角スペースやタブ・改行が自動的に削除されるのです。
ですから、VBAのコードに限った事ではありません。
>インテンドの代わりにスペースキーを何度も打って代用される方もよく見かけます。
半角スペースは削除されるので、投稿者は全角スペースを使っています。
ありがとうございます。
インテンドではなくインデントでしたね、失礼しました。
で、投稿システムの自動機能でなぜそのようなことをするのでしょうか?
それを防ぐため、投稿者に全角スペースを無駄に打たせるOKWebさんはなぜそのような仕様にしたのか・・・。
不思議です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの改行時、2行目の頭...
-
パワーポイントで箇条書きの際...
-
WORDで見出しを設定すると空白...
-
【ワード】レポートで引用部分...
-
インデントの幅
-
ワードの左インデントとぶら下...
-
PowerPointで、Wordのようにぶ...
-
エクセル マイナスの表示を▲に...
-
VBAコード記述に際して、コード...
-
Wordでレポートの表紙を作って...
-
エクセルの横位置の均等割付(...
-
行の真ん中で改行されてしまい...
-
Wordでプログラムを載せるとき...
-
VScode 設定のエラーについて
-
ワード、フッターの横の位置変更
-
行頭文字がルーラーで指定した...
-
ワードの目次 フィールドの更新...
-
WORDのぶら下げインデント...
-
Wordで英文を打ちたいのですが...
-
Excelについてですが、行を挿入...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの改行時、2行目の頭...
-
パワーポイントで箇条書きの際...
-
WORDで見出しを設定すると空白...
-
ワードの左インデントとぶら下...
-
【ワード】レポートで引用部分...
-
VBAコード記述に際して、コード...
-
インデントの幅
-
Wordでインデントを設定すると...
-
エクセル マイナスの表示を▲に...
-
エクセル表の正負が混じった数...
-
Excel でインデントを左右に入...
-
行の真ん中で改行されてしまい...
-
PowerPointで、Wordのようにぶ...
-
Wordでレポートの表紙を作って...
-
ワードで余白に文字が行かない...
-
Wordで左詰めできない・・・。
-
セル内右寄せ文字列の右側に半...
-
Word 縦書き時に行末に一字分...
-
WORDのぶら下げインデント...
-
パワー・ポイントのテキスト・...
おすすめ情報