プロが教える店舗&オフィスのセキュリティ対策術

昔の担当者が作成したマクロを2つ使用しているのですが、マクロで作成される郵便バーコードが一つは封筒の窓からはみでないサイズで印字されるのですが、一つは封筒の窓からはみ出るサイズになってしまっているので修正したいのですが、どういじるのが一番いいのか、また下手にいじって郵便局で読み取れないと困るので、わかる方ご教示くださると助かります。以下がバーコード作成に関する部分のマクロの一部なのですが、この部分が2つのマクロとも同じなのに一つだけサイズ感が違うので困っています。

With Worksheets("〇〇〇").OLEObjects("BarCodeCtrl1")
.Object.Value = Worksheets("〇〇〇").Cells(●●,△△)
.Witdth = .Witdth -3
.Witdth = .Witdth +3
End With

.Witdth = .Witdth -3の部分でなんで-3して+3しているのかわからないのですが、昔の担当者はもういないので聞くこともできません。サイズを指定できるのでしょうか。サイズ指定できる場合、郵便局で確実に読み取れるサイズを指定したいのですが。。
よろしくお願いいたします。

質問者からの補足コメント

  • 返信ありがとうございます。widthでした。すみません。+3している行に’をつけて実行すると、次の人にいくたびにどんどんバーコードが小さくなっていってしまいました、、。

    No.1の回答に寄せられた補足コメントです。 補足日時:2021/07/28 14:21
  • 途中でプリントしています!教えていただいた方法で明日、試してみます。ありがとうございます。

    No.2の回答に寄せられた補足コメントです。 補足日時:2021/07/28 19:01

A 回答 (3件)

その間にprint等の処理をしていませんか?


>.Witdth = .Witdth -3の部分でなんで-3して+3しているのかわからないのです
そうであるならば、データが複数存在しFor_Next等のループをまわして連続して作成している物と推察されます。ですから+3の方をキャンセルするとどんどん(-3)小さくなるのでしょう。
途中に何の処理もしていないのであればマクロの作成段階で適切な値(幅:width)を見つけるための残骸かもしれません。
一番良いのは、
1.適切な方のバーコードオブジェクトを右クリック
2.プロパティを表示してwidthの値を確認
3.異なる方を同様の操作でwidthの値を合わせる
で良いはずです。
そうすればー3と+3のところは不要になるでしょう。
お試しください。
この回答への補足あり
    • good
    • 0
この回答へのお礼

サイズ調整できました!ありがとうございました❗

お礼日時:2021/07/31 13:52

1000通以上の印刷でしょうか?


VBAの高速化のため描画を停止しているからでしょう。

Application.ScreenUpdating で停止再開がコントロールできます。
= False ' 描画を停止する
= True ' 描画を再開する
    • good
    • 0
この回答へのお礼

1000通以上の印刷です。
マクロ作動すると画面が動くので、一部、描画を停止しているのかもしれませんが分かりませんでした

お礼日時:2021/07/31 13:50

Witdth じゃなくて Widthかな?



とりあえず、プラスしてるものをコメントアウトして無効にして、動作確認してみる。
行の頭に’(アポストロフィ)をつける。

マイナスの値を増やして、動作確認してみる。

というのを試してみると良いかも。
この回答への補足あり
    • good
    • 0
この回答へのお礼

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

お礼日時:2021/07/31 13:51

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