• 締切済み

Word:日付を入れ替えながら印刷したい

ご覧いただきましてありがとうございます。 Wordで、文書の1行目にある日付を入れ替えながら連続で印刷したいと思い(手書き用の日誌を日付入りで大量に作りたいのです)、マクロで処理できないかと下記のように書き始めたのですが、肝心の日付の入れ替え部分がわかりません。 Sub 日付連続印刷()   Dim dBeginDate As Date   Dim dEndDate As Date   mybegindate = InputBox$("開始日(yy/MM/dd):")   myenddate = InputBox$("終了日(yy/MM/dd):")   dBeginDate = DateValue(mybegindate)   dEndDate = DateValue(myenddate)   For i = dBeginDate To dEndDate     Selection.InsertAfter i     ActiveDocument.PrintPreview   Next End Sub 例えば、 開始日:09/12/5 終了日:09/12/7 と入力すると、 平成21年12月5日 -> 印刷 平成21年12月6日 -> 印刷 平成21年12月7日 -> 印刷 となってほしいのですが、 現在のコードでは 2009/12/052009/12/062009/12/07 -> 印刷となります。 そこで、文字列を上書きで書き換えていく方法と、その際の文字列を和暦の日付とする方法をwebなどで調べてみたのですが、結局わかりませんでした。 どなたかお分かりになられる方、よろしくご教示の程お願いいたします。 なお、使用環境はWindowsXP+Word2002です。

みんなの回答

  • te12889
  • ベストアンサー率36% (715/1959)
回答No.1

ご希望の策ではないことは、わかっちゃいるんですが・・・。 ど素人に毛が生えた程度の私でも何とかできそうな方法としては、Excelで日付列を用意しての「差込印刷」があると思います。 参考図書や熟練者の少ないWordマクロですから、実務優先なら、「今できる方法」にしちゃいますね、私の場合。

akeem2003
質問者

お礼

ご回答ありがとうございます。やはり、実務的には差込印刷が正解ということになるのでしょうか・・

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ACCESS97のモジュールで 日付の計算をしたい

    以前の例題を検索したのですが 改めて質問します。 ACCESS97のモジュールで 日付の計算をしたいのです。 例えば ある日付を入力すれば、その2週間後の日付を取得したいのです。  テキストボックス "日付"で入力するとします Dim Sdate As Date  Dim Edate As Date Sdate = Format(Me.日付, "yy/mm/dd") Edate = Format(Sdate+14, "yy/mm/dd") ← ではエラーになります。 Q どうすればいいのでしょうか?

  • 日付の計算中に・・・

    こんにちは、教えてください。 今、日付から日付を引いて残りが、何年何ヶ月かという計算を しております。     A        B          C 1  2007/8/31 - 2006/5/30  =  yy/mm/dd このように行っております。 上から順番に計算を行っていたのですが、 あるC列の数行目にきたところ、"yy/mm/dd"が 反対になっていました。"dd/mm/yy"というように。。。 書式設定でyy/mm/ddに変更しても効果無しでした。。。 一体どうしてでしょうか?? お分かりの方、教えてください!

  • 日付抽出でエラーします、教えてください。

    s1シートB列に日付が連続1月~数ヶ月分入っています(書式日付は 「3/13」の形式で入力されてます) この中から例えば3月分だけをフィルタして、それを別ブック保存したいのです。 インプットボックスで「09/03」yy/mmと入力すると フィルターを掛けるところでデバックエラーになります 3/13形式の入力を、どのようにして09/03と認識させるのか 上手く抽出させるには、どうしたらいいのでしょうか?悩んでいます。 ご指導ねがいますm(_ _)m Private Sub CommandButton1_Click() Dim Wh As Worksheet, ws As Worksheet Dim Hiduke As Variant, Uwagaki As Integer, Owarimsg As Integer Dim umu Dim dumu '日付入力 Hiduke = Application.InputBox("年月データ入力", , Format(Hiduke, "yy/mm")) If Hiduke = "Boolean" Or Hiduke = False Or Hiduke = " " Then Exit Sub Do While Hiduke = "" Hiduke = Application.InputBox("日付入力されてません", , Format(Hiduke, "yy/mm")) Loop 'sheetからの日付データ抽出 Worksheets("s1").Activate Range("B6").AutoFilter Field:=1, Criteria1:="=" & Format(Hiduke, "yy/mm") Worksheets("s1").AutoFilter.Range.SpecialCells(xlCellTypeVisible).Copy '有無確認 Set dumu = Range("B7").CurrentRegion umu = dumu.Columns(1).SpecialCells(xlCellTypeVisible).Cells.Count - 1 If umu = 0 Then MsgBox "日付データなし" GoTo Syuryo Else '保存 Syori: Application.ScreenUpdating = False Application.DisplayAlerts = False Set wb = ActiveWorkbook wb.SaveAs Filename:="C:\お仕事\年月度別" & "\" & Format(Hiduke, "yymm") & ".xls" Application.CutCopyMode = False ActiveWorkbook.Save ActiveWorkbook.Close Application.DisplayAlerts = True Application.ScreenUpdating = True End If Syuryo: Worksheets("s1").AutoFilterMode = False Application.CutCopyMode = False Worksheets("s1").Activate Range("A1").Select End Sub

  • アクセスクエリ関数 「Format」「Format$」の違い

    テーブルの「日付」フィールド(日付型)には 「2009/5/20」とデータが入っていて、 クエリのSQL文を SELECT Format([テーブル]![日付],"yy/mm/dd") AS フォーマット, TypeName([フォーマット]) AS フォーマットのデータ型, Format$([テーブル]![日付],"yy/mm/dd") AS [フォーマット$], TypeName([フォーマット$]) AS [フォーマット$のデータ型] FROM テーブル; とした結果どちらも 「09/05/20」「String型」で結果は同じです。 「Format」「Format$」は何が違うのでしょう? 宜しくお願い致します。

  • 変換について。

    下記のマクロで1234/56/78のデータの場合 和暦変換できるのですが 12345678のデータの場合コードの書き方は どのあたりを変更すれば良いのでしょうか?? ご教授下さい。 Sub 和暦変換() Dim i As Long Dim 最終行 As Long Dim 日付 As Date 最終行 = 100 For i = 1 To 最終行 日付 = Range("A" & i).Value If Format$(日付, "e") = "1" Then Range("B" & i).Value = "'" & Format$(日付, "ggg元年mm月dd日") Else Range("B" & i).Value = "'" & Format$(日付, "gggee年mm月dd日") End If Next i End Sub ウインドウズ7 エクセル2010

  • 他のシステムからExcelに日付を貼り付ける

    こんばんは。 過去の質問を見ていたのですが、同じような質問を見つけられなかったのでどなたか知ってたら教えてください。 タイトルにあるように他のシステム(Aとします)からExcelに日付をコピー・ペーストしたいのですが、AのフォーマットがDD/MM/YYになっています。 PCの日付の設定自体をRegional OptionsでDD/MM/YYに変えてしまえば話は早いのですが、それをMM/DD/YYにしたままExcelにペーストすると日にちが12日より大きいものはDate型として認識しません。 例えば10/12/03はDateとして認識されますが2003年10月12日として認識されます。(本当は2003年12月10日なんですが。)又、15/12/03(2003年12月15日)はDateではなくGeneralとして認識されます。右クリックformat Cellで日付型に変換しても、CustomizeでDD/MM/YYとしてもやはり日付として認識しません。どうやったらExcelに日付として表示させることができますか?

  • VB2008 日付表示

    コンボボックス内に日付を「08/06/12(木)」のような形式で表示させたいのですが、うまく行きません。 Dim cnt As Integer For cnt = 0 To 20 Me.CmbDate.Items.Add(Format(DateAdd("d", cnt, Today), "yy/mm/dd(aaa)")) Next と書いてみたんですが、「08/00/12(aaa)」・・・という表示になってしまいます。日付表示の仕方をご存知の方、教えていただけないでしょうか?

  • エクセル 短い日付の設定 長い日付の設定が同じ

    2007のエクセルを使っています。 「短い日付の設定」と「長い日付の設定」が同じYY/MM/DDとなっています。 この設定を変えたいのですが、どうすればいいかご存知のかたお教えください。

  • InputBox  String型・Variant

    VBAです。 InputBox  String型・Variant型がエラーにならない理由がわかりません。 Sub 日付型() Dim 日 As Date 日 = InputBox("値をいれてください") End Sub Sub 数値型() Dim i As Long i = InputBox("値をいれてください") End Sub Sub 通貨型() Dim 円 As Currency 円 = InputBox("値をいれてください") End Sub Sub String型() Dim a As String a = InputBox("値をいれてください") End Sub Sub Variant型() Dim v As Variant v = InputBox("値をいれてください") End Sub String型・Variant型以外は、 「実行時エラー '13'; 型が一致しません。」になります。 String型・Variant型はならない理由を教えてください。ご回答よろしくお願いします。

  • UesrFormのTextBoxに入れた日付をExcelに入力

    教えてください。 VBAでUserFormを作成しています。 その中に「TextBox1」があり日付を入力させます。 入力は、半角でyy/mm/ddで入力させて「CommandButton1」をクリックさせたらExcelに反映させるのですが、どうしても、日付が違う値になるのです。 半角で入力した日付をyy/mm/ddでExcelに反映させ、さらに誤った日付(例:08/02/31など実際に無い日)を入れた場合、再入力をさせたいのですが良い方法はありますか?

専門家に質問してみよう