• ベストアンサー

ワード差し込み 連番印刷 2010以降、またはVB

会社の仕入れ伝票に、連番がはいってますが、それとは別に、左上にもう一つ連番を入れていきたいです。例  a1   事務所はエクセルで、差し込み印刷しましたがうまくでてきませんでした。 100枚連番印刷したいので、教えて下さい。 宜しくお願いします。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

下記はWord VBA なので,十分に詳しくなく、試行錯誤してやってみました。 文書の定位置にテキストボックスを1か所設けて、そこに連続番号を1つ入れて印刷するというものです。機械式のナンバリング器を使うようなものです。 WordのVBE画面に標準モジュールを挿入し、そこに下記コードをコピー張り付ける。 会社の本当の仕入れ伝票のコピーを白紙に10枚ぐらい作って、印刷テストを行う。 下記のテキストボックスの位置とサイズを規定する値のL,T、W、Hの値は早いうちに修正する。数字のフォントの色とサイズは適当に。 文書上にテキストボックスがあれば、削除しておく。 Sub textboxNUM() l = CentimetersToPoints(17) '左から センチ単位 t = CentimetersToPoints(3) '上から w = CentimetersToPoints(3) '幅 h = CentimetersToPoints(2.5) '高さ '----テキストボックス作成 Set myTB1 = ActiveDocument.Shapes.AddTextbox _ (msoTextOrientationHorizontal, l, t, w, h) '--右づめ・太字 With myTB1 '.TextFrame.TextRange.ParagraphFormat.Alignment = wdAlignright .TextFrame.TextRange.Paragraphs.Alignment = wdAlignParagraphRight .TextFrame.TextRange.Font.Bold = True ' .TextFrame.TextRange.Font.Color = wdColorRed .TextFrame.TextRange.Font.Color = wdColorBlue .TextFrame.TextRange.Font.Size = 23 End With ' 例 32~34まで連続数字の例 For i = 32 To 34 myTB1.TextFrame.TextRange = Format(i, "#,###") ActiveDocument.PrintOut Next i End Sub いままでの私の経験では、WordのVBAでやると、私のプリンターでは1mmぐらいの誤差ぐらいで、印刷をやれた経験があるので、やってみた。ゴムロールで印刷紙をめくる(送る方式の)プリンターでは、少々の縦ずれや横ぶれは避けられないようだ。 エクセルでの印刷では少しブレが大きいと思っている。 仕入れ伝票がA4、B5などよくあるサイズであれば、差し支えないぐらい、うまく行くかもしれない。 何しろ地の文言を避けて、番号を印刷するため、試行錯誤で試行して適当な位置の数値(=位置)を探る必要がある。VBAでやるのは数値でしかもセンチで指定できるからです。 難しいのは、あることをしたいとき、どういうWordVBAのコードになるか、WEBでも情報を得にくいことです。2013でテストしました。

Beej
質問者

お礼

ありがとうございます ものすごく助かります。 最初、フッダーにいれたけど枚数がたくさんなので、諦めました。次に差し込み印刷をやってみたんですが、うまくいきませんでした。私のやり方が悪いんです。調べていたらVBA を見つけました。しかし、私はVBA 初心者です。 うまくいくかわかりませんが、やってみます。 さきほど、少しワードみました。マクロクリックして マクロ名はなんとすればいいのか、わかりません。もしよろしければ、そのあたりも、教えていただけますか? 会社のパソコンはMicrosoftoffice なので、会社にかえってやってみます。 家ではlibre office つかってます。 Libre office はなんか違いますね

Beej
質問者

補足

家に古いパソコンあったのでやってみたらなりました。ありがとうございます

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

#2です。補足に関して マイクロソフト社製のワード(俗にいうワード)を開く。 白紙(新規文書)を1枚画面にだす。 マクロ名は、いったん忘れて下記の操作を行ってください。 あえて言えば、回答コードの先頭行のSUBのあとの名称です。 ーー まず、初めての場合は、セキュリテイ保護のため制約されているので、解除するため、マクロを書き込めるように設定しなければなりません。エクセルと同じです。 「ワード文書を画面に見て 「開発」タブをCL(マウスでクリック) ALTキー+F11キー メニューの「標準モジュール」をCL この画面に回答のコードをコピペ プリンターに白紙のA4用紙を入れる(テストのため) F5キーを押す プリンターに出てきた用紙の様子を確認。 コードの連続番号の初期値、終わり値の部分を、画面でキーインして修正。テストなので2-3枚にとどめること。 プリンターに出てきた用紙で、番号の出てきた(テキストボックスの位置を考えて センチ指しで測る。 用紙の端より左より、上より、幅、高さをメモで決めて書きておく。 回答のl、t。w、hの」数値を修正する。 書類の複写機コピーしたものをプリンタに入れて、印刷し、結果出来上がりを見ること。

Beej
質問者

お礼

詳しい解説ありがとうございます。(^^) 印刷できました。

  • panacon
  • ベストアンサー率31% (214/679)
回答No.3

エクセルで連番1と連番2の2列を作っておきます。 Wordで差し込み印刷ウィザードを開始して、既存のリストでエクセルを選び、フィールドの挿入で連番1と連番2を挿入したいところに挿入します。これでプレビューすれば、ページめくりで連番が印刷できますよ。 再利用も可能なので、エクセルとワードの保存場所と名前を変えないことが大切です。

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.1

エクセル起動→ページレイアウト→ページ設定の左下の小さな斜め矢印→ヘッダー/フッター→ヘッダーの編集→左側(L):の欄をクリック→ページ番号の挿入をクリック

関連するQ&A