- ベストアンサー
[Word]条件を満たすと表示・非表示を切り替える方法
- Wordで「日付が入力されていなかったら」という条件を満たすと表示する内容を作成する方法について教えてください。
- また、「日付が入力されている場合」には表示しない方法もお知りになりたいです。
- ご存じの方は、ぜひ教えてください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
最初に専用のテンプレートを用意します。 このテンプレートを元に文書を作成させます。 マクロは専用テンプレートの標準モジュールに登録しておくと良いと 思いますので、[ Alt+F11 ]キーでVisual Basicを開き、[ Normal ] ではなく用意したテンプレート名の[標準モジュール]を用意して開いて おきます。(別にこれにこだわっているわけでないですが) ここに以下のマクロを登録します。記録マクロのため無駄が多いです。 (マクロ名は英語のほうが良いのですが、解り易いため日本語です。) '*****************ここから************************************ Sub 案を削除() ' ' 案を削除 Macro ' 'マクロボタンをダブルクリックしたときの日付に変更 Selection.InsertDateTime DateTimeFormat:="ggge'年'M'月'd'日'", InsertAsField _ :=False, DateLanguage:=wdJapanese, CalendarType:=wdCalendarJapan, _ InsertAsFullWidth:=False ' '文書の先頭にある文字列を削除 Selection.HomeKey Unit:=wdStory Selection.MoveRight Unit:=wdCharacter, Count:=3, Extend:=wdExtend Selection.Delete Unit:=wdCharacter, Count:=1 End Sub '*****************ここまで************************************ これでマクロが用意されます。 文書の先頭に「(案)」を入力し[ Enter ]キーで改行します。 次の行にマクロボタンを配置します。 メニューの[挿入]→[フィールド]→[フィールド]ダイアログを開きます。 [フィールドの種類]から[文書の自動化]にして、[フィールドの名前]を [ MacroButton ]にし、[表示文字列]に『 平成 年 月 日 』を入力し [マクロ名]から[案を削除]を探し[OK]します。 これでカーソルがある位置にマクロボタンが「 平成 年 月 日 」の 文字列で表示されていると思います。 (「"平成 年 月 日"」になっていたらフィールドコードを表示して 「"」を削除して下さい) これをダブルクリックすると、「 平成 年 月 日 」がダブルクリック したときの日付に置き換わり、「(案)」が消えていると思います。 新規文書で試されて、これで良ければ使ってみて下さい。
その他の回答 (3)
- enunokokoro
- ベストアンサー率74% (3543/4732)
私の頼りない回答を採用してくださりありがとうございます。 マクロについては、ここでWordマクロも回答している方のものを参考に したり、モーグ(moug)で勉強したりしています。 ここの回答ではこちらのかたのすごい回答を参考にしています。 http://oshiete1.goo.ne.jp/user.php3?u=256973 http://oshiete1.goo.ne.jp/user.php3?u=310600 モーグではQ&A掲示板の各OfficeのVBA掲示板を参考にしています。 http://www.moug.net/boards/index.htm こちらも参考にしています。 http://www.moug.net/skillup/index.htm http://www.moug.net/skillup/pmm/dn01-1.htm 書籍については私も購入して勉強しないといけないと思いつつ、書店 で立ち読みする程度で、情報を載せるほどどれが良いかは判りません。
お礼
たいへん詳しく挙げていただきましてありがとうございます。教えていただいたサイトを参考にして、Wordマクロの勉強をしたいと思います。本当にありがとうございました。(お礼が遅くなりまして申し訳ありません)
- enunokokoro
- ベストアンサー率74% (3543/4732)
マクロを使用したり登録したことがありますか? 今回の質問にある内容を実現するなら、マクロを使用したほうが簡単 ですから。 [IFフィールド]を使用できるかと検討したのですが、私の力不足で良い 案が浮かばなかったので、[MacroButtonフィールド]を使用することで、 可能になるようですから。 マクロについての知識あるかどうかと、日付は[現在の日付]かどうかを 補足して下さい(日付フィールドのどれを使うかによって違うため)。 ちなみに、私は記録マクロを編集するぐらいしか出来ない、マクロの 初心者ですが私でも出来るのですから難しくは無いです。
補足
はじめまして、ご回答ありがとうございます。ご指示に従い補足をさせていただきます。 日付は、現在の日付ではなく、手入力によっています。稟議書を回すときに年月日をスペースで入力しておき、決裁が下りて印刷するときに改めて入力しています。 それから、マクロの知識についてですが、Excelについては普段から簡単な記録マクロを登録して使ったりしていますが、Wordのマクロは一度もさわったことがありません。 お手数をおかけいたしますが、よろしくお願いいたします。
- judas_2006
- ベストアンサー率56% (82/145)
これはどうしてもWordでなければいけないのですか? もしかするとWordでも可能なのかもしれませんが、Excelなら、ちょちょいのちょいですよね。 ご参考にもならないコメントで、大変申し訳ありません。
補足
ご回答ありがとうございます。 >これはどうしてもWordでなければいけないのですか? そうなんです。FAX送信状などはExcelで作ったりしているのですが、質問させていただいた書類は、長文だったり差し込み印刷を使ったりと、Wordを使った方が編集が楽なんです。
お礼
できました!感動しました。うれしくて、何度もクリックしたり元に戻したりしてしまいました(^^) 早速明日から仕事に使わせていただきます。本当にありがとうございました。 ところで、enunokokoroさんはマクロの勉強をどのようにされたのでしょうか?参考になる書籍やWebサイトをお教えいただければ大変ありがたいのですが..