[[20140902103839]] 『バーコードが印刷すると小さくなる』(まお) ページの最後に飛ぶ

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

 

『バーコードが印刷すると小さくなる』(まお)

会社で使っているマクロなのですが、バーコードを印刷しようとすると
印刷プレビューではみんな同じサイズなのに、紙にプリントアウトすると
なぜか4番目以降のバーコードのサイズが小さくなってしまいます。
(必要なバーコードは4つまでなので、必然、最後だけが小さくなる形です)

行・列のサイズは全て同じです。何が原因か分かりません。。。

コードはこんな感じでした。何が原因かお分かりになりますでしょうか?

' 現在セルの位置を取得

        With ActiveCell
            lngLeft = .Left + .Width * 0.05
            lngTop = .Top + 1
            intHeight = .height * 0.7
            intWidth = .Width * 0.9
        End With
        ' 現在セルにバーコードを貼付ける
        ActiveSheet.OLEObjects.Add(ClassType:="BARCODE.BarCodeCtrl.1", _
            Link:=False, DisplayAsIcon:=False, _
            Left:=lngLeft, Top:=lngTop, Width:=intWidth, _
            height:=intHeight).Select
        Set objOLEObject = Selection
        Set objBarCode = objOLEObject.Object
        With objOLEObject
            .Visible = False    ' 一旦消去
            .Placement = 2
'            .LinkedCell = Cells(GYO, 1).Address
            .Visible = True     ' 表示
        End With
        With objBarCode
            .Style = 6         ' code39
            .SubStyle = 0
            .Validation = 1     ' C/D修正有り
            .ShowData = 1       ' 数値表示あり
            .Value = Cells(GYO, 2).Value
            .Refresh
        End With

< 使用 Excel:Excel2003、使用 OS:WindowsXP >


 記述されたコードから読み取れるのはアクティブなセルの大きさによって
バーコードオブジェクトの大きさも変わるってくらいですので、
ここから言える事は
「最後の(4つ目の?)セルの大きさが他より小さくないですか」
ってくらいでしょうか。
 
その他の可能性として
・別のプリンタがあればそちらに試しに出してみる
 →プリンタ、プリンタドライバが原因かもしれない
・ダミーで5つ目のバーコードを出してみる
 →4つ目が最後じゃなければ大きさ整ったりして

(ご近所PG) 2014/09/02(火) 16:14


ご近所PG様

ご返信遅くなりまして大変申し訳ございません。

そうなんです。実はご指摘のとおり、4つ目が最後じゃなければ
サイズは同じになるのです
(つまり、何番目かは関係なく、最後にくるバーコードが自然と小さくなる)

セルサイズのほうは質問にも記述したとおり全部同じものです
(シートごと選択してサイズを調整しているので)

なにが原因か頭を悩ませております。。。

(まお) 2014/09/04(木) 10:07


 そういえば過去経験した中での話しですが、
画面の更新を止める
    Application.ScreenUpdating = False
の状態だと、何故かうまく図形の大きさ変更を受け付けてくれない事がありました。
原因の特定という意味で、もし画面更新を止めているロジックがあるなら、
一度外して動かしてみるも良いかもしれません。

 ちなみにその現象は解決できず、速度も求められていない処理だった&見た目が面白かったので
画面の動きを残したままとしました。
(ご近所PG) 2014/09/04(木) 11:04

 私も経験談・・・
 バーコードコントロールを置いて、Linkに品番から検索したITFコードが入力されているセルを指定
 しました。
 繰り返し処理で品番を切り替えながら印刷させていたのですが、なぜかバーコードコントロールの
 位置がデータが変わる毎にずれて、サイズも変わってしまう・・・

 なので
 計算→バーコードを一回り小さく→再計算→バーコードを指定サイズというめんどくさい手順を踏んで
 解決出来たのですが、未だになぜなのか分かっていません!
(稲葉) 2014/09/04(木) 13:19

ご近所PG様
はずしてみたら、今度は一番最後のバーコードだけ大きくなってしまいました。。。
ワケが分からないよぅ。。。。

稲葉様

バーコードあるあるですね。いろいろやってみましたが、いまだに解決できませんし、原因も分かりません。。。コード上でエラーが走らないのが一番痛い。。どこが原因かまるで特定できない。。。
(まお) 2014/09/04(木) 13:39


コメント返信:

[ 一覧(最新更新順) ]


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