[[20070610064313]] 『VBA:差込印刷』(masabou5) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『VBA:差込印刷』(masabou5)

 いつもお世話になります。
 100人くらいの名簿があり、sheet1のTextBox1とTextBox2に二人ずつの名前を差し込んで、
 連続印刷したいと思っています。
 下記のようなコードを書きましたが、3人以上の場合、うまく印刷できませんでした。
 例えば、10人の場合、二人ずつ印刷して、計5枚の連続印刷をしたいのですが、どうもうまく行きません。
 何が問題なのかご教授下さい。よろしくお願いします。

 For i = 3 To 99 Step 2
       With Cells(i, 1)
         If .Value <> "" Then
            Sheets("sheet1").TextBox1 = .Value
            Sheets("sheet1").TextBox2 = .Offset(1, 0).Value
            Sheets("sheet1").PrintOut
         End If
       End With
    Next i

 >Sheets("sheet1").TextBox1 = .Value
           ↓
 Sheets("sheet1").Shapes("Text Box 1").TextFrame.Characters.Text = .Value
 これで試してみてください
(kohe)

 koheさん、ありがとうございました。
 ただ、「指定した名前のアイテムが見つかりません」というメッセージが出ます。
 どうすればいいでしようか?(masabou5) 

 私の最初のコードで4人分、例えばA,B,C,Dさんの場合、連続印刷したとき、
 A, D, C, Dさんと印刷されました。
 これは、プリンタ−にデータを送る時のデータスピードによる原因なのでしょうか?
 もし、そうだとしたら、どのようなコードを書けばよろしいのでしょうか?(masabou5)

 >「指定した名前のアイテムが見つかりません」というメッセージが出ます。

 テキストボックスの番号が違っているんだと思います
 マクロの記録でTextBox番号を確認して見てください
 (kohe)

 koheさん、テキスト番号は合っていました。 
 すみません、再度お伺いします。
 単に下記のように書き換えればいいのでしようか?(masabou5)

 For i = 3 To 99 Step 2
       With Cells(i, 1)
         If .Value <> "" Then
            Sheets("sheet1").Shapes("Text Box 1").TextFrame.Characters.Text = .Value
            Sheets("sheet1").TextBox2 = .Offset(1, 0).Value
            Sheets("sheet1").PrintOut
         End If
       End With
    Next i

 Sub test()
Dim i As Long
For i = 3 To 99 Step 2
   With Cells(i, 1)
     If .Value <> "" Then
        Sheets("sheet1").Shapes("Text Box 1").TextFrame.Characters.Text = .Value
        Sheets("sheet1").Shapes("Text Box 2").TextFrame.Characters.Text = .Offset(1, 0).Value
        Sheets("sheet1").Printout
     End If
   End With
Next i
End Sub

 こちらでは ↑これでmasabou5さんのご希望どうりに動いてますヨ

 koheさん、いろいろとお世話をおかけしました。
 結論からいえば、うまく動作するようになりました。
 私のテキストボックスは、ActiveXコントロールツールボックスで作ったテキストボックスでした。
 Shapesだったので、早く気付けばよかったのですが、
 オートシェイプのテキストボックスとは気付きませんでした。
 いずれにしても、当初の目的を果たし、連続差込印刷に成功しました。

 ただ、私の最初のコードでは、論理も文法も間違っていないのに、どうしてうまく動作しないのか、
 不思議でなりません。
 急ぎませんので、そのあたりのことが分かりましたら、又教えて下さい。

 心から御礼申し上げます。(masabou5)


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.