みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

[Word]条件により表示・非表示を切り替えたい

 ご覧いただきありがとうございます。Wordで、下記のように「日付が入力
されていなかったら(案)と表示する」ということはできるでしょうか。
 ご存じの方、よろしくご教示お願いいたします。

************************************************
      (案)←表示する
              平成 年 月 日
         (日付が入力されていない↑)
       ・
       ・
      (本文)

************************************************
          ←なにも表示しない
              平成18年11月19日
          (日付が入力されている↑)
       ・
       ・
      (本文)

************************************************

投稿日時 - 2006-11-19 19:29:30

QNo.2549589

暇なときに回答ください

質問者が選んだベストアンサー

最初に専用のテンプレートを用意します。
このテンプレートを元に文書を作成させます。
マクロは専用テンプレートの標準モジュールに登録しておくと良いと
思いますので、[ 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]します。

これでカーソルがある位置にマクロボタンが「 平成 年 月 日 」の
文字列で表示されていると思います。
(「"平成 年 月 日"」になっていたらフィールドコードを表示して
「"」を削除して下さい)

これをダブルクリックすると、「 平成 年 月 日 」がダブルクリック
したときの日付に置き換わり、「(案)」が消えていると思います。

新規文書で試されて、これで良ければ使ってみて下さい。

投稿日時 - 2006-11-19 23:45:40

お礼

 できました!感動しました。うれしくて、何度もクリックしたり元に戻したりしてしまいました(^^)
 早速明日から仕事に使わせていただきます。本当にありがとうございました。

 ところで、enunokokoroさんはマクロの勉強をどのようにされたのでしょうか?参考になる書籍やWebサイトをお教えいただければ大変ありがたいのですが..

投稿日時 - 2006-11-20 00:51:14

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

私の頼りない回答を採用してくださりありがとうございます。

マクロについては、ここで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

書籍については私も購入して勉強しないといけないと思いつつ、書店
で立ち読みする程度で、情報を載せるほどどれが良いかは判りません。

投稿日時 - 2006-11-20 01:16:47

お礼

たいへん詳しく挙げていただきましてありがとうございます。教えていただいたサイトを参考にして、Wordマクロの勉強をしたいと思います。本当にありがとうございました。(お礼が遅くなりまして申し訳ありません)

投稿日時 - 2006-11-20 21:22:08

ANo.2

マクロを使用したり登録したことがありますか?
今回の質問にある内容を実現するなら、マクロを使用したほうが簡単
ですから。

[IFフィールド]を使用できるかと検討したのですが、私の力不足で良い
案が浮かばなかったので、[MacroButtonフィールド]を使用することで、
可能になるようですから。

マクロについての知識あるかどうかと、日付は[現在の日付]かどうかを
補足して下さい(日付フィールドのどれを使うかによって違うため)。

ちなみに、私は記録マクロを編集するぐらいしか出来ない、マクロの
初心者ですが私でも出来るのですから難しくは無いです。

投稿日時 - 2006-11-19 21:10:30

補足

 はじめまして、ご回答ありがとうございます。ご指示に従い補足をさせていただきます。

 日付は、現在の日付ではなく、手入力によっています。稟議書を回すときに年月日をスペースで入力しておき、決裁が下りて印刷するときに改めて入力しています。

 それから、マクロの知識についてですが、Excelについては普段から簡単な記録マクロを登録して使ったりしていますが、Wordのマクロは一度もさわったことがありません。

 お手数をおかけいたしますが、よろしくお願いいたします。

投稿日時 - 2006-11-19 22:10:49

ANo.1

これはどうしてもWordでなければいけないのですか? もしかするとWordでも可能なのかもしれませんが、Excelなら、ちょちょいのちょいですよね。

ご参考にもならないコメントで、大変申し訳ありません。

投稿日時 - 2006-11-19 20:59:14

補足

 ご回答ありがとうございます。

>これはどうしてもWordでなければいけないのですか?

 そうなんです。FAX送信状などはExcelで作ったりしているのですが、質問させていただいた書類は、長文だったり差し込み印刷を使ったりと、Wordを使った方が編集が楽なんです。

投稿日時 - 2006-11-19 22:12:08

あなたにオススメの質問