皆様、どうかお知恵をお貸しください。
現在、wordで以下のような文章を作ろうとしています。
(1)果物
1)林檎:~~
2)梨:~~
3)梨:~~
4)蜜柑:~~
5)蜜柑:~~
(2)肉
1)豚:~~
2)豚:~~
3)牛:~~
ここで、「梨を表示しない」という条件が与えられた際に
(1)果物
1)林檎:~~
2)蜜柑:~~
3)蜜柑:~~
(2)肉(以下略)
のように、梨の項目を自動的に消して、上に詰めたいのです。できれば、「梨を表示する」となった時に元に戻したいです。
エクセルで言えば「行の非表示」が一番近いでしょうか。
フィールドコードも考えてみましたが、消す部分が複数の行に跨る為、作成も修正も非常に困難になり、できればしたくないと考えています。
VBAまで含め、このような挙動が可能とするにはどうすればいいのか、ご教示願います。
A 回答 (3件)
- 最新から表示
- 回答順に表示
- ベストアンサーのみ表示
No.3ベストアンサー
- 回答日時:2013/06/25 10:30
No.2の回答者です。
> { if 1 = 1 "{ LISTNUM NumberDefault \l 1 }" "×"}
> if文の中のlistnum文に対して、空白行が返されている
IF文の中に"{ LISTNUM NumberDefault \l 1 }"とだけ記載すると
LISTNUMフィールドが有効に働かないようです。
{ if 1 = 1 "{ LISTNUM NumberDefault \l 1 }○" "×"}
にしても駄目なので、仕様として覚えるしかないようです。
有効な例:(←┘は段落記号)
{ if 1 = 1 "←┘
{ LISTNUM NumberDefault \l 1 }○" "×"}
または
{ if 1 = 1 "□{ LISTNUM NumberDefault \l 1 }○" "×"}
最初の例は条件が一致したら改行して「1)○」が表示されます。
次の例は同じ段落内に□1)○が表示されます。
このことから、以下のように作成して検証してみてね。
{ LISTNUM NumberDefault \l 1 } ←┘
{ LISTNUM NumberDefault \l 1 }{ if 1 = 1 "←┘
{ LISTNUM NumberDefault \l 1 }○" "×"}←┘
{ LISTNUM NumberDefault \l 1 } ←┘
ちなみに、補足される場合は早めにしてくださいね。
質問日から補足されるまで2週間近くたった場合、メール受付を
補足などにしていないと気が付かないこともあるので。
私の場合は、古い質問になると補足のメールを受け付ける設定を
解除することもありますので。
この回答へのお礼
ありがとうございます!
{LISTNUM}の前に文字列を置いたり、改行すれば、LISTNUMがきちんと動きました。
時間が空いてしまった補足にも素早く回答して頂き、本当にありがとうございました。
No.2
- 回答日時:2013/06/14 18:39
アウトライン番号があるのですよね。
非表示にしたい段落を消したときに、番号は繰り上がるのですね。
そのような設定を、単純な方法では対応できないと思います。
似たような質問があったので参考になりませんか?
http://oshiete.goo.ne.jp/qa/8082546.html
複数行に跨るとしても、フィールドコード内での改行をすることも
可能なので、作成方法を理解していれば難しくありません。
「林檎:~~」の一番最後へとIF文を設定して、林檎から梨までの
範囲にListNumフィールドで連番させます。
その他のアウトライン番号は通常の設定で対応できます。
修正はフィールドコードを表示しておき、「梨:」の後ろ部分などを
書き換えるだけで済みますね。
Excelでの[行の非表示]を使っても、連番の繰上りとかできるのか
疑問がありますが、似たようなことはWordだと隠し文字でも対応
できると思いますが、連番の繰上りができないので、過去の質問で
示した方法しかないと思っています。
マクロで対応するにしても、【梨の項目】をマクロにテキストとして
保存しておいて、特定の位置に挿入したり削除したりすることでの
対応になると思います。そのテキストへと段落番号がつくスタイルを
適用することで挿入による連番の追加や、削除による繰上りに対応し
希望していることに近いことができるかもしれません。
しかし、修正するにしても面倒であることは変わりませんよね。
この回答への補足
申し訳ありません。
自分でも色々調べて、試してみたのですが、LISTNUMフィールドコードが上手く働きません。
{ LISTNUM NumberDefault \l 1 }
{ LISTNUM NumberDefault \l 1 }
{ if 1 = 1 "{ LISTNUM NumberDefault \l 1 }" "×"}
{ LISTNUM NumberDefault \l 1 }
以上のようにフィールドコードを記述すると
1)
2)
3)
という表示になってしまいます。
if文の中のlistnum文に対して、空白行が返されているようなのです。
どこが問題なのでしょうか? どのように修正すれば、1)~4)の連番が表示されるようになるのでしょうか?
この回答へのお礼
回答、及び過去回答の紹介、ありがとうございます。
>連番の繰り上がり
確かに、[隠し文字]プロパティではこれは実現できませんでした。
フィールドコードのif文だけだと、作成も修正も困難になるかな、と思っていたのですが、マクロで該当の文字列の場所を検索・特定する手間を考えれば、こちらの方が簡単かも知れません。
フィールドコード内での改行やListNumフィールドというテクニックは知らなかったのですが、かなり使えそうです。色々と試してみます。
ありがとうございました。
No.1
- 回答日時:2013/06/14 13:50
Wordの文章のままでやるとちょっと面倒です。
⇒Wordの表を使うと
VBAで表の中の「セル」の言葉の検索と
その表の行間設定と行の高さの設定で済みます。
あとはそれを元に戻せるようにするだけです。
Excelはご希望ではないようですが
一般機能のフィルターだけで済みます。
・フィルターを設定します。
・フィルターの詳細設定、またはフィルターを設定したセルの右の▼のところで出るダイアログで、「テキストフィルター」で「指定の値を含まない」でできます。
↓
どうしてもWordということなら
エクセルでフィルターのボタン?がある近辺をコピー
Wordにワークシート形式でリンク貼り付け
それをダブルクリックするとExcelが起動するので、
セルの右のフィルターのボタン▼をクリックして
上記のようにテキストフィルターをかけます。
なお、Wordの表やエクセルでは
1)林檎:~~
ではなく
1 林檎 ~~
のようにセルごとに分けておきます。
すでに入力済みの場合には
それらの言葉の範囲をすべて選択して
表を設定します。
エクセルのセルに分けるには、データ ⇒ 「区切り位置」で分けておきます。
この回答へのお礼
回答ありがとうございます。
エクセルファイルを埋め込む方法は、条件を変更するのが大変だったり、埋め込んだ複数のファイル間で条件の共有ができなさそうなので、VBAでの修正を考えてみます。
表の高さを0にする、という方法は思いつきませんでした。
調べてみたら、書式設定の中に「隠し文字」というプロパティがあるようなので、これで何とかできないかな、と思っていますが、表を使った方が対象文字列の特定にはいいかもしれません。
色々と自分でも試してみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するQ&A
- 131:30:00が1900/1/1 7:30:0
- 2[MS Access]クエリで変換 hhmm(数値型)⇒hh:mm(日付/時刻型)
- 3Excel2002 「リソース不足のため、このタスクを完了することができません~~」とメッセージが出て、ファイルが開けない
- 4エクセル:フィルーター:コピー
- 5エクセル:グラフ:2種類のX軸の書式設定
- 6VBA ファイル:列の値をエクセル:行に転記
- 7電話番号の末尾に :0:0 を付けたい
- 8Excel時刻 0:10:10時間を非表示にしたい
- 9給料計算8:00-17:50→9時間50分としたい
- 10=LARGE(INDEX((($A$1:$A$10)<>"")/ROW($A$1:$A$10),),ROW(A1)) とは
注目の記事
このカテゴリの人気Q&Aランキング
- 4Excel)軽いデーターのはずなの...
- 5【Excel】数式をそのまま他のシ...
- 6エクセルで条件に一致したセル...
- 7Excelで[表1]にあって、[表2...
- 8エクセルの メニューバーと ...
- 9条件付き書式のやり方。隣のセ...
- 10エクセルの複数条件に一致した...
- 11エクセルで数式をそのままコピ...
- 12excelの特定のセルの隣のセル指...
- 13エクセルのセル内から数字だけ...
- 14A4サイズ1枚にA5サイズを2つ...
- 15エクセル2010 書式が多すぎて...
- 16他PCへのOffice再インストー...
- 17エクセルでフィルタでフィルタ...
- 18SUMIF関数で、条件に日付範囲で...
- 19Outlookの検索機能が働きません
- 20docとdocxファイルの違いを教え...
おすすめ情報
教えて!goo ウォッチ
-
- 旬ネタの秘密を分析
- 旬の食材情報から花粉症やレシピまでお役立ち記事を毎日お届け!!!!
-
- せきらら女子会
- 女同士でしか話せない年頃女性の本音が炸裂!
-
- 確定申告の医療費控除
- 通院にかかった交通費や保険外診療も医療費控除の対象に!?確定申告の仕組みを知って、あなたの払った医療費を取り戻そう!
-
- 今から始める花粉予防まとめ
- 鼻水・くしゃみ・目のかゆみ、つらい花粉の症状を少しでも和らげるために。症状別・グッズ別・食事別など、花粉予防に役立つ情報をまとめてみたよ
- あおくび大根で歳時記:第3話「ひしも...
- あおくび大根で歳時記:第2話「さいじ...
- 実は迷信!?「雛人形を早く片付けないと...
ウォッチ 人気記事ランキング
-
- 女性がTバックをはく理由は?
- 下着メーカーのワコールが、女性心理と下着を研究したサイト「COCORO...
-
- 数億円当たったことを後悔……。宝くじで失った...
- 去る2月20日、今年もグリーンジャンボ宝くじが発売された。いつかは...
-
- 独り言が多いのは○○の証拠
- 話しかけられたと思い隣を見ると、パソコンに向かって一人でつぶやく...
- 4 外国人に聞きました。日本はここが変だ!
- 5 違法速度で走るクルマに道を譲りたくない