2016-08-02 40 views
2

我正在打印条形码,并且作为该过程的一部分,我有一个Chart对象,它上面有一个文本框。获取特定字体配置中文本的实际宽度?

我使用clsBarcode类我从这里 Generating Code 128 Barcodes using Excel VBA

了渲染其上的条形码现在我的问题是,我不能告诉条码的宽度。

我在该图表对象上生成条形码,然后将该图表导出为jpeg文件。我一直使用图表对象的固定大小,但现在我试图打印不同大小的条形码,并且必须调整图表对象以符合条形码大小,否则会被裁剪。

我发现这里的strWidth功能 http://www.ozgrid.com/forum/showthread.php?t=94339

不幸的是它使用了一个查找表常用的字体。 code128.fft表中没有条目。

所以我有点卡在这里。如果我只是将图表调整为任何条形码的可能长度,那么我的条形码图像中会留下大量浪费的空白。而且,由于我在2“x4”贴纸上打印这些条形码,因此您可以猜测空间是非常宝贵的。

我认为最好的方法是用code128字符的值填充查找表。条形码类表示正在使用字符32到126和200到211。

我怎样才能找出这些字符的mafChrWid(i)值?

谢谢!

回答

5

对于此功能,您需要命名单元格BARCODE并将其设置为字体code128.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 
相关问题