色彩を教える人になるための講座「色彩講師養成講座」の魅力とは>>

ワードを使用して、個人管理票を印刷したいのです。

その票には、「住所」 「氏名」 「年齢」 「性別」 他 を印刷します。(1ページに1人分だけしか記入しません。ただし、複数ページにわたってファイル保存し、ページごとに対象者が変わります)
年齢だけは、誕生日が来れば加算されるので、たとえば、誕生日のデータを記憶させておいて、本日の日付との計算で自動的に誕生日が表示されるようにはできないものでしょうか?
生年月日は印刷されないようにしたいのです。(印刷されなければ良いので、白い文字などで表示されるのはかまいません)

エクセルにデータを置き、差込印刷をする方法はわかるのですが、ワード単体でもこのようなことはできるでしょうか?
(エクセルもありますので、ワード単体が無理なら、エクセルの差込印刷も使いますが、ワードだけでできるならうれしいです)

よろしくお願いします。

gooドクター

A 回答 (3件)

こんばんは。



>ワード単体でもこのようなことはできるでしょうか?
十分に出来ます。

手 順:

1) 表示-ツールバーから、フォーム を出してください。

2) 次に、フォーム・ツールバーから、錠のマークが、オフ(色がついていない)ことと、「a」のマークが付いていることを確認してください。

3) 誕生日データを入れるところに、フォームから、テキストボックスをクリックして、ドキュメントの上に貼り付けてください。

4) 同じく年齢のところに、テキストボックスを貼り付けてください。

5) 貼り付けたところ側を、右クリックして、プロパティをみて
(場所は、そのドキュメント内なら、どこでも可能です)

誕生日データ
  ブックマーク名: Text1

年齢
  ブックマーク名: Text2
  
となっていることを確認してください。

次に、キャンセルで、テキストボックスフォームフィールドを閉じてください。

6) ツール-マクロ-Visual Basic Editor

プロジェクトという窓が出ているかと思います。出ていない場合は、Ctrl + R(または、表示の中から、プロジェクトウィンドウをクリック)を押してください。
その窓の中から、「ThisDocument 」をクリックして画面を出します。

7)

Sub MyBirthday()
 Dim Txt1 As String
 Dim i As Integer
 Dim myDate As Variant
 Dim tmpDate As Variant
 Txt1 = Me.FormFields("Text1").Range.Text
 On Error GoTo EndLine
 If IsDate(Txt1) Then
  myDate = CDate(Txt1)
  tmpDate = CStr(Year(Date)) & "/" & Format(myDate, "mm/dd")
  tmpDate = CDate(tmpDate)
  i = DateDiff("yyyy", myDate, Date)
  If tmpDate > Date - 1 Then
   i = i - 1
  End If
  Me.FormFields("Text2").Result = CStr(i)
 
 End If
EndLine:
End Sub

(このマクロは、DateDiff 関数を用いていますが、誕生日の次の日が、1歳増えるという、誕生日の一般的なルールに従っています。通常の計算と違います。)

このマクロを、エディタ画面に貼り付けます。
貼り付けたら、Alt + F11 で戻ります。

8) 誕生日データ側のプロパティを見ます。<5) を参照>

次のようにフィールドを設定してください。

種類(P): 日付, 規定の日付(E) :任意で (例:平成2年12月25日) [数字は半角]
最長文字数(M): 指定しない, 日付の種類:gggge年M月d日

実行するマクロ
開始時:[何も入れない](触らないこと。もし触ってしまったら、MyBirthDay をこちらも設定してください。)

終了時(X): MyBirthday (ドロップダウン・ボタンで探すと良い)

これで、「OK」をクリックします。

9) フォーム・ツールバー の「a」をクリックしてオフにして、錠のマークをオンにして、フォーム・ツールバーを、表示-ツールバーで、フォームをオフにして、隠してください。


入力するときは、エンターキーを入れると、ずれることがありますから、入力したら、矢印キーで移動してください。上手くいくかどうか、ちょっと試してみてください。

この回答への補足

できました。細かいご指示やプログラムまで、大変ありがとうございました。

ひとつ質問なのですが、
>9) フォーム・ツールバー の「a」をクリックしてオフにして、錠のマークをオンにして、
ですが、これをすると、常にカーソルが「Text2」のテキストボックスのところに行ってしまい、他の文章のの編集ができなくなります。

この『錠のマークをオン』は省いても支障はでないものでしょうか?

もう、思っていたことが画面上に反映されているので、大変うれしいです。ありがとうございます。

補足日時:2006/12/20 12:20
    • good
    • 0

こにんちは。

#2のWendy02です。

すみません。単に、自分用のマニュアルを作る最中に書いてしまいましたので、思わぬミスしてしまいました。

>この『錠のマークをオン』は省いても支障はでないものでしょうか?
省いてよいです。間違いでした。

もしも、保護する必要があるなら、以下のようになりますが、必要ありませんね。

9) ツール-文書の保護
 編集の制限-ユーザーに許可する編集の種類を指定する-フォームへの入力
 (または、Word 2000:文書の保護-保護対象外[フォームフィールド])-OK)

10) フォーム・ツールバー の「a」をクリックしてオフにして、錠のマークをオンにして……
    • good
    • 0
この回答へのお礼

ご丁寧な回答ありがとうございました。

よくわかりました。

助かりました。

お礼日時:2006/12/21 08:40

ツールバー「標準」に「Microsoft Excelワークシートの挿入」があります。


これで出るのでは。
    • good
    • 0
この回答へのお礼

そうかもしれませんが、文字の挿入位置などの操作の関係から、エクセル枠の挿入は不適当でした。

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

また、お知恵を拝借することがあると思いますのでよろしくお願いいたします。

お礼日時:2006/12/20 12:20

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

gooドクター

人気Q&Aランキング