• 締切済み

Excel VBAでQRコードを生成したい

kkkkkmの回答

  • kkkkkm
  • ベストアンサー率65% (1639/2487)
回答No.2

> この部分で表示をしているだけなのでしょうか。 そうですね。

cjdsgfk
質問者

補足

ソースコード変更しました。 1シートでQRコードの出力が確認できたため、 1回目のご回答でいただいた For i = 1 To Sheets.Count Set Sh = Sheets(i) を組み込みましたが、 Sh.OLEObjects.Add(ClassType:="BARCODE.BarCodeCtrl.1", Link:=False, DisplayAsIcon:=False, _ Top:=.Top + 10, Left:=.Left + 10, Height:=.Height - 20, Width:=.Width - 20).Select この部分で「型が一致しません」というエラーが出ます。 もともとActivesheetの記入がありましたが、どのように設定したらよいでしょうか。 【以下ソースコード全文】 Sub QR15_Sample() 'QRコード15mm×15mmサイズ Dim Str_Code As Variant Dim Start_Add, Col As String Dim Row_Pos, Col_Num, LastRow, Count As Long Dim QR_Data() As String Dim i As Integer '**QRコード化するCodeデータ読み込み** For s = 1 To Sheets.Count Set Sh = Sheets(s) For Each Str_Code In Cells(4, "B") 'If Str_Code = "str_code" Then Row_Pos = Str_Code.Row Start_Add = Str_Code.Address(True, False) Col = Left(Start_Add, InStr(Start_Add, "$") - 1) Col_Num = Asc(Col) - 64 '列番号アルファベットを数値化 'LastRow = Cells(Rows.Count, Col_Num).End(xlUp).Row 'データ入力最終行 'Count = LastRow - Row_Pos 'データ数 'End If Next 'ReDim QR_Data(1 To Count) As String ReDim QR_Data(1) As String 'QRコードへのリンクセル設定用にデータ入力セルのアドレスを取得 'For i = 1 To Count ' QR_Data(i) = Cells(Row_Pos + i, Col_Num).Address(RowAbsolute:=False, ColumnAbsolute:=False) 'Next i i = 1 QR_Data(i) = Cells(4, 2).Address(RowAbsolute:=False, ColumnAbsolute:=False) '**QRコード貼付けセルのサイズ指定処理** 'このサイズ設定はQRコード化する内容により適宜調整 'Rows(Row_Pos + 1 & ":" & LastRow).RowHeight = 50 'Columns(Col_Num + 1).ColumnWidth = 10 '**QRコードコントロールプロパティ設定** 'プロパティについては以下URLのMSDN参照 'https://msdn.microsoft.com/ja-jp/library/cc427149.aspx Const QR_Style As Integer = 11 'スタイル '0: UPC-A, 1: UPC-E, 2: JAN-13, 3: JAN-8, 4: Casecode, 5: NW-7, '6: Code-39, 7: Code-128, 8: U.S. Postnet, 9: U.S. Postal FIM, 10: 郵便物の表示用途(日本) '11: QRコード Const QR_Substyle As Integer = 0 'サブスタイル (下記URL参照) 'http://msdn.microsoft.com/ja-jp/library/cc427156.aspx Const QR_Validation As Integer = 2 'データの確認 '0: 確認無し, 1: 無効なら計算を補正, 2: 無効なら非表示 'Code39/NW-7の場合、「1」でスタート/ストップ文字(*)を自動的に追加 Const QR_LineWeight As Integer = 3 '線の太さ '0: 極細線, 1:細線, 2:中細線, 3:標準, 4:中太線, 5: 太線, 6:極太線, 7:超極太線 Const QR_Direction As Integer = 0 'QRコードの表示方向 '0: 0度, 1: 90度, 2: 180度, 3: 270度 [0]が標準 Const QR_ShowData As Integer = 0 'データの表示 '0: 表示無し, 1:表示有り Const QR_ForeColor As Long = rgbBlack '前景色の指定 Const QR_BackColor As Long = rgbWhite '背景色の指定 'rgbBlackなどの色定数は以下URLのMSDN参照 'https://msdn.microsoft.com/ja-jp/VBA/Excel-VBA/articles/xlrgbcolor-enumeration-excel '**QRコード化の処理** Dim QR_OLE_Obj As OLEObject Dim QR_Obj As BARCODELib.BarCodeCtrl 'For i = 1 To Count 'QRコードサイズ、及び貼り付ける位置の指定 '上で設定したセルサイズに対し、枠内中央とする為にTop/Leftは+5、Height/Widthは-10 With Cells(1, 2) ActiveSheets.OLEObjects.Add(ClassType:="BARCODE.BarCodeCtrl.1", Link:=False, DisplayAsIcon:=False, _ Top:=.Top + 10, Left:=.Left + 10, Height:=.Height - 20, Width:=.Width - 20).Select End With Set QR_OLE_Obj = Selection Set QR_Obj = QR_OLE_Obj.Object 'QRコードにプロパティ設定 With QR_Obj .Style = QR_Style .SubStyle = QR_Substyle .Validation = QR_Validation .LineWeight = QR_LineWeight .Direction = QR_Direction .ShowData = QR_ShowData .ForeColor = QR_ForeColor .BackColor = QR_BackColor .Refresh End With 'リンクするセルアドレスを指定 With QR_OLE_Obj .Visible = False .LinkedCell = Range(QR_Data(i)).Address(RowAbsolute:=False, ColumnAbsolute:=False, _ ReferenceStyle:=Application.ReferenceStyle) .Visible = True End With Next s End Sub

関連するQ&A

  • Excel QRコードを読み取り項目毎に分割表示

    製品番号、LOT番号、製造年月日など複数の項目のデータが入ったQRコードがあります。 このQRコードを読み取って、項目毎にセルに入力したいです。 実際にQRコードを読み取ってみると abc0123-456$de0123456789$$$$$$20190201$$$$$$$$$ という様なパターンです。(架空のデータです) [$]というのが区切り文字と思われますので、 一旦データを読み込んだ後で、メニューの[データ]-[区切り位置]とたどって、区切り文字に[$]を指定すれば、それなりに表示出来ることは分かったのですが、 出来れば、特定の列でQRコードを読み取ると同時に、自動的にデータを区切ってそれぞれのセルに入力したいです。 区切り文字が連続している部分が有りますが、当方では必要ありませんので無視したいです。 マクロとかVBとか必要ですか? 出来るだけ具体的な方法を教えて頂けると有り難いです。

  • Office2007でQRコード作成

    Windows 7、Office2007(Accessあり)のExcelで、セル上にQRコードを表示させたいと考えています。Microsoft Barcode Control9.0ではQRに対応していないため、AccessRumtime2016をインストールし、Microsoft Barcode Control16.0で対応しようとしましたが、ActiveX参照からセルに配置したときに「オブジェクトが作成できません」のエラーが出てしまいます。 何か解決策はありますでしようか?

  • フリーソフトのQRコードリーダー→EXCELセルへ

    QRコードリーダーの読み取り値をダイレクトにEXCELのセルへ転記したい。フリーソフトはQRコードリーダーProです。簡易的にEXCEL VBAのsendkeysによりQRコードリーダーのクリップボードデータをEXCELセルへ書き出すプログラムは成功しましたが、QRコードを読みだした後にEXCEL側のコマンドボタンによりデータを拾い出す形です。あくまで、QRコードリーダーが読みとった瞬間にEXCELのセルへデータ転記させたいのですが、何とかお考え戴けないでしょうか?

  • エクセルVBAの構文を教えてください。

    こんばんは。マクロ初心者です。 VBAの構文を教えてください。 ■シート(1)には項目が50ある5年分(60ヶ月)の市場統計データーがあります。50個ある項目名はB列にありDセル2008年1月からBKセル2012年12月まで横に60ヶ月分のデーターを入力しています。 ■シート(2)には50の項目名のデータがあります。項目名はB列にあります。 ■シート(3)にはコンボボックスを作成し、コンボボックスの下に表を作成しました。 シート(3)のコンボボックスの50ある項目から▼ボタンで項目を選びコマンドボタンを押すと シート(3)の下記のセル範囲でシート(1)のデーターを参照させたいのです。 B8セルからM8セルまで(2008年度12か月分のデータ) B11セルからM11セルまで(2009年度12か月分のデータ) B14セルからM14セルまで(2010年度12か月分のデータ) B17セルからM17セルまで(2011年度12か月分のデータ) B20セルからM20セルまで(2012年度12か月分のデータ) コンボボックスは設定できたのですが、構文がうまくできないため参照できていません。 エクセルVBAに詳しい方、どうぞご教授ください。よろしくお願い致します。

  • QRコードでタイムカードレス

    マクロでセルA1に入力した時間がセルB1に反映するようにできました。 あとはQRコードの読み込み情報をセルA1に反映できれば タイムカードのデータベースシートが出来上がりそこから他のシートへ個人別の出退勤が振り分けができると考えています。 A1,A2,A3と順にQR内の読み込み情報(従業員番号)が読み込み順にセルに記録できるソフトかマクロをご教示いただけませんか?

  • VBAでおしえてください

    お世話になっております。 今、5個のエクセルファイルがあり、それぞれ複数のシートで構成されていますが、シート名、並び順は、5個のファイルとも共通です。 シート名は、sheet1から、A,B,C,D,・・・・と割り振っております。 ここで、同じシート名のdataを同じシート内に集めたいです。。 (元DATAの形式) ファイル1 SheetA SheetB セル DATA セル DATA B2 2 B2 8 B3 3 B3 5 B4 4 B4 6 ファイル2 SheetA SheetB セル DATA セル DATA B2 6 B2 2 B3 5 B3 3 B4 1 B4 4 VBA変換後 ファイル1 SheetA セル DATA セル DATA B2 2 C2 6 B3 3 C3 5 B4 4 C4 1 よろしくお願いいたします

  • エクセルにQRを書式で埋め込む方法はないでしょうか

    エクセルでQRコードを使いたいと思っています。検索すると図としてQRコードを作成してデータをリンクさせる方法は見つかりましたがこれでは使い勝手が悪いと思います。一次元のCode128やNW39は書式をアドオンしてあげればセル内にバーコードを表示することが可能です。これと同様にQRコードを書式として変換してセル内に収める方法があれば知りたいと思います。 ご存知の方おられましたら教えてください。

  • QRコードの作り方について

    QRコードについてご質問を致します。 私は、無料でQRコードを作れるWebサイトがあることは知っているのですが、気になることがあります。 先日、QRコードを作成してダウンロードしたら、そのファイルの拡張子はgifでした。 そこで一つ目に気になることは、このファイルの拡張子を変更してパワーポイントやイラストレーターでプリントアウトした場合、そのQRコードは読み取れるものでしょうか? 次に二つ目に気になることは、どのような用紙でプリントアウトしてもQRコードは読み取れるものでしょうか? 例えば、家庭用の用紙では「普通紙」、「光沢紙」などがあります。また、印刷会社にはコート紙など、いろいろと用紙の種類も多いです。 以上、2点についてご質問を致します。宜しくお願い致します。

  • QRコードの開き方

    アプリ「QRコードをパソコンで読み取る(インストール不要)」を使用して、手順の、「ファイル選択」して「QRコードを読み取る」で、QRコードは表示されますが、右クリックしても「読み取り」の項目が出てきません。以前は「読み取り」出てきたのですが。対策を教えてください。 パソコンは、windows7、型番はpc-LS150ES1KBです ※OKWAVEより補足:「NEC 121ware : Windows」についての質問です

  • エクセルフォームでQRコードリーダー読み込み

    Windows10 Excel365 の環境下で エクセルVBAを使用し フォームを作成しました。 そのフォームのテキストボックスに、 QRコード作成サイトや、 QRコード作成ソフトなどで作成した QRコードを、 QRコードリーダー読み込み (読み込んだ文字は漢字2文字です。) ワークシートに転記させる処理を行うと、 文字化けしてハングルのような文字が 入力されました。 これを解決する方法はありますか? ご存知の方いらっしゃいましたら 教えてください