マクロで封筒を自動印刷
マクロで封筒を自動印刷出来る様にファイルを作りました。
先日、そのマクロで封筒を印刷する前に
別のファイルの物を印刷しようと思い、そのファイルの印刷設定を変えて
印刷をしました。
その後、マクロで作ったファイルで封筒を印刷したところ
印刷設定がおかしくなってしまいました。
とりあえず、設定を直し何度かマクロで印刷を試みましたが
いくら直して上書きしても印刷設定が直らず・・・・。
一度、PCを再起動して再び試みると印刷がきちんとされました。
この現象はマクロを使っているからなのでしょうか??
それともマクロの使い方が悪くて起きる症状なのでしょうか?
対策方法があれば教えて頂けるとうれしいです。
使っているマクロは次のとおりです。
Sub Futo_Copy()
'//////////////////////////////
'印刷を行う
'//////////////////////////////
Dim i As Integer
Dim S_1 As String '1行目
Dim S_2 As String '2行目
Dim S_3 As String '3行目
Dim S_4 As String '4行目
Dim S_5 As String '5行目
Dim S_6 As String '6行目
Dim S_7 As String '7行目
Dim S_8 As String '8行目
Dim S_9 As String '9行目
Dim S_10 As String '10行目
Application.ScreenUpdating = False '描画をしない
'sheet_name = ActiveSheet.Name 'アクティブシート名を取得
'シートの中で使用されている最大の列を求める。
'row_count = Worksheets("印刷対象").Cells.Find("*", Range("A1"), , , xlByRows, xlPrevious).Row
'シートの中で使用されている最大の行を求める。
'col_count = Worksheets("印刷対象").Cells.Find("*", Range("A1"), , , xlByColumns, xlPrevious).Column
row_count = Worksheets("印刷対象").Range("A65536").End(xlUp).Row
For i = 3 To row_count '印刷対象の3行目からループ
Worksheets("出力").Select
'データ取得
S_1 = Worksheets("印刷対象").Cells(i, 1)
S_2 = Worksheets("印刷対象").Cells(i, 2)
S_3 = Worksheets("印刷対象").Cells(i, 3)
S_4 = Worksheets("印刷対象").Cells(i, 4)
S_5 = Worksheets("印刷対象").Cells(i, 5)
S_6 = Worksheets("印刷対象").Cells(i, 6)
S_7 = Worksheets("印刷対象").Cells(i, 7)
S_8 = Worksheets("印刷対象").Cells(i, 8)
S_9 = Worksheets("印刷対象").Cells(i, 9)
S_10 = Worksheets("印刷対象").Cells(i, 10)
Worksheets("出力").Cells(1, 1) = S_1
Worksheets("出力").Cells(2, 1) = S_2
Worksheets("出力").Cells(3, 1) = S_3
Worksheets("出力").Cells(4, 1) = S_4
'Worksheets("出力").PrintPreview 'プレビュー
Worksheets("出力").PrintOut 'プリントアウト
Next i
'Worksheets("出力").Cells.Clear 'シートのクリア
Application.ScreenUpdating = True '描画開始
Worksheets("印刷対象").Activate
End Sub
出来ればこのマクロの形をあまり変えずに
症状が直せるといいのですが・・・。
よろしくお願い致します。
お礼
ご回答ありがとうございます 回答していただいたプログラムと flexgridの若干のくせを修正するために下記コードを追加することで 実現しました。ありがとうございました。 flexgridList.row = 0 flexgridList.col = 0