2016-08-02 10 views
2

バーコードを印刷しており、そのプロセスの一部として、その上にテキストボックスを持つChartオブジェクトがあります。特定のフォント設定で実際のテキストの幅を取得しますか?

は、私は今、私が持っている問題は、私はバーコードの幅を言うことができないということです私はここに Generating Code 128 Barcodes using Excel VBA

からもらったclsBarcodeクラスを使用して、その上にバーコードをレンダリングします。

私はそのチャートオブジェクトにバーコードを生成し、グラフをjpegファイルとしてエクスポートします。私はチャートオブジェクトの固定サイズを使用していましたが、今はさまざまなサイズのバーコードを印刷しようとしており、バーコードサイズに一致するようにチャートオブジェクトを調整する必要があります。

私は残念ながら、それは一般的に利用可能なフォントのためのルックアップテーブルを使用して、ここで http://www.ozgrid.com/forum/showthread.php?t=94339

strWidth機能を発見しました。 code128.fftのテーブルにはエントリがありません。

私はここでこだわっています。私がグラフをサイズ変更できるだけの長さのバーコードがあれば、私はバーコードイメージに無駄な空白がたくさんあります。そして、私はこれらのバーコードを2 "x4"ステッカーに印刷しているので、スペースはプレミアムであると推測できます。

ルックアップテーブルにcode128文字の値を入力するのが最善の方法だと思います。バーコードクラスは、chr 32〜126および200〜211が使用中であることを示します。

どのようにこれらの文字のmafChrWid(i)値を把握できますか?

ありがとうございました!

答えて

5

この機能では、セルの名前をBARCODEに設定し、フォントコード128.fftを設定する必要があります。

Function getBarCodeWidth(strBarcode As String) As Double 

    With Range("BARCODE") 
     .Formula = "=Code128_Str(" & strBarcode & ")" 
     .Worksheet.Columns(.Column).AutoFit 
     getBarCodeWidth = .Width 
    End With 

End Function 
関連する問題