Google先生のAPIは永遠に使える訳ではないので回避策としてテスト。
Accessランタイム インストール
バーコードはAccessのコントロールなのでAccessが必要!無ければランタイムでよい!Accessランタイムは無料!さすMicrosoft
早速ダウンロードしてインストール!!私のOfficeは32bit版2019。
32bit版Microsoft Access 2016 Runtime
/(^o^)\
念のため64bit版も試す
/(^o^)\
office 16 click-to-run extensibility component 64-bitをアンインストールしたら次に進めた!
\(^o^)/
インストーラー自身がダウンロードとインストールするやつをクイック実行インストーラー(C2R)という模様。
実行形式ファイルからインストールしたやつ(MSI)じゃないと共存できねぇよ?とのこと。
現場によって詰みます。
Microsoft Access 2013 Runtimeなら共存できるとのこと!
インストールできた!!
ランタイムをアンインストールするとバーコード作成時に以下のエラーを確認。再インストール後にバーコード出せることも確認。
ソース
Sub MakeQRCode(valueRange As Range, outputRange As Range) '文字のチェック If valueRange.Value = "" Then Exit Sub If Len(valueRange.Value) > 255 Then Debug.Print "255文字を超えています。" Exit Sub End If If Len(valueRange.Value) <> Len(StrConv(valueRange.Value, vbNarrow)) Then Debug.Print "全角文字が含まれています。" Exit Sub End If Dim sh As Worksheet Set sh = ActiveSheet With sh.OLEObjects.Add("BARCODE.BarCodeCtrl.1") .Object.Style = 110 'QRコード .LinkedCell = valueRange.Address '値の設定 .Top = outputRange.Top '仮の作成場所 .Width = .Height '正方形にする .CopyPicture , xlBitmap '画像コピー .Delete '削除 End With '画像として貼り付け 'sh.Activate outputRange.Select sh.Paste Set sh = Nothing End Sub '選択した右のセルにQRコードを作成する Sub test() Call MakeQRCode(Selection, Selection.Offset(0, 1)) End Sub
漢字は使えない。Excelで呼び出して使うのはMSサポート外。最大255文字。
更に作成したQRコードがマウスで選択できないため移動ができない!ソースのDelete部分をコメントアウトすると確認できる。
なので画像コピーして張り付ける処理をいれた。
削除するには、選択できるオブジェクト(オートシェイプ等なんでもよい)を用意して、F5>セル選択>オブジェクトで全選択して一括削除。
以上。