tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトルエクセルへのバーコードオブジェクトの追加について
記事No15462
投稿日: 2012/05/10(Thu) 18:09
投稿者ガオ
お世話になります。
VB6からエクセルにバーコードを動的に貼り付けたいです。


vb6の参照設定に「MicrosoftExcel11.0 Object Library」を追加、
コンポーネントに「microsoft Access Barcode Control9.0」を追加
しています。

以下のようなコードをボタンイベントに記述しています。


    Dim objBarCode As Object
    ' Excel の起動処理
    'オブジェクトへの参照を格納する変数を宣言(事前バインディング)
    Dim xlApp   As Excel.Application  '転載禁止
    Dim xlBook As Excel.Workbook      '転載禁止
    Dim xlSheet As Excel.Worksheet    '転載禁止
    
    '変数にオブジェクトの参照を代入します。
    '新規 workbookとworksheet オブジェクトを作成します。
    Set xlApp = CreateObject("Excel.Application")
    Set xlBook = xlApp.Workbooks.Add
    Set xlSheet = xlBook.Worksheets(1)  '1 の代わりにシート名でも可
    
    '==================================================================
    'Excel 操作部分
    'エクセルを表示します。(非表示でも動作します)
    xlApp.Visible = True
    
    Set objBarCode = xlBook.ActiveSheet.OLEObjects.Add(ClassType:="BARCODE.BarCodeCtrl.1", _
                                    Link:=False, DisplayAsIcon:=False, _
                                    Left:=lngLeft, Top:=lngTop, Width:=intWidth, _
                                    Height:=intHeight)
    
    With objBarCode
        .Visible = False
        .Style = 1
        .Value = "123456789"
        .Visible = True
    End With


上記コードで「.Stype=1」の部分で以下のエラーがでます。

実行時エラー’438’
オブジェクトはこのプロパティまたはメソッドをサポートしておりません。

.Style部分以降、エラーが出る箇所をコメントにすると、エクセルが開いて
白いコントロールがシート上に張り付いてるので、コントロールの生成自体は
できているようです。

どのように修正すればよろしいでしょうか。
ご教示のほど、よろしくお願いしますm(__)m。

[ツリー表示へ]
タイトルRe: エクセルへのバーコードオブジェクトの追加について
記事No15463
投稿日: 2012/05/10(Thu) 20:04
投稿者魔界の仮面弁士
> .Style = 1
> .Value = "123456789"
Style = 1 って、UPC-E のことですよね。
何故 9桁の値を設定しているのでしょうか?
http://msdn.microsoft.com/ja-jp/library/cc427155.aspx


> オブジェクトはこのプロパティまたはメソッドをサポートしておりません。
ActiveX コントロールによって提供されるプロパティにアクセスするには、
http://msdn.microsoft.com/ja-jp/library/cc427149.aspx
Object プロパティを使う必要があります。


> vb6の参照設定に「MicrosoftExcel11.0 Object Library」を追加、
> コンポーネントに「microsoft Access Barcode Control9.0」を追加
> しています。

「Microsoft Excel 14.0 Object Library」参照設定+
「Microsoft Access Barcode Control 14.0」コンポーネントで実験。

Dim xlApp   As Excel.Application
Dim xlBook  As Excel.Workbook
Dim xlSheet As Excel.Worksheet

Set xlApp = CreateObject("Excel.Application")
'Set xlApp = New Excel.Application
Set xlBook = xlApp.Workbooks.Add
Set xlSheet = xlBook.Worksheets(1)

xlApp.Visible = True

Dim objBarCode As Object
Set objBarCode = xlSheet.OLEObjects.Add( _
    ClassType:="BARCODE.BarCodeCtrl", _
    Left:=50, Top:=13, Width:=215, Height:=110)

objBarCode.Visible = False
objBarCode.object.Style = 1
objBarCode.object.Validation = 2
objBarCode.object.Value = "09876547"
objBarCode.Visible = True

[ツリー表示へ]
タイトルRe^2: エクセルへのバーコードオブジェクトの追加について
記事No15464
投稿日: 2012/05/10(Thu) 21:08
投稿者がお
魔界の仮面弁士 さん
さっそくのご回答、ありがとうございました。
無事に動作することができました。

>何故 9桁の値を設定しているのでしょうか?
目的値は7だったのですが、動作異常がでたため、いろいろとためしているうちに1になっておりました。

また、よろしくお願いします。

[ツリー表示へ]