Excel VBA 一覧
ご訪問ありがとうございます。
Googleシートマスターのひろしです。
前回
ExcelでQRコードを表示させる方法(準備とシート上での表示)
Excelで手軽に(?)QRコードを表示させることができるようになります。
今回は、とっても価値の高い方法をお伝えします。
これを知ることであなたは、
- Excelで手軽に(?)QRコードを表示させることができるようになります。
とはいえ、VBAを使用するので
ちょっとハードルが高いかもしれません。
ま、コピペでイケるので大丈夫です。
ご安心ください。
もしスプレッドシートの使用が許されるならこちらをどうぞ↓
GoogleスプレッドシートQRコードを一瞬で作る方法
スプレッドシートを使って一瞬でQRコードが作れてしまいます。
VBAでQRコードを表示させる
準備(Microsoft 365 Access ランタイム)
ExcelでQRコードを表示させるには、
「Microsoft 365 Access ランタイム」なるものが必要となります。
VBA コード
以下をコードエディタに貼り付けて
testdspQR()を呼び出してみてください。
'呼び出しサンプル
Sub testdspQR()
'引数1:URL(QRコードに変換したい文字列)
'引数2:表示位置
Call createQRCode("https://technical.verybestcbp.com/", "A2")
End Sub
'----------------------------------------------------
'QRコードの作成
'strQR As String :QRコードに変換する文字列
'Pos As String :QRコードの作成位置(QRコードの名前にも使用)
'----------------------------------------------------
Function CreateQRCode(strQR As String, Pos As String)
Dim xObjOLE As OLEObject
Dim topPosition As Double
Dim leftPosition As Double
'QRコードを作成するシートを指定
Dim ws As Worksheet
Set ws = ActiveSheet
'指定シート上にある「OLEObjectオブジェクト」の数だけ繰り返し
For Each xObjOLE In ws.OLEObjects
'「QRコード(=11)」かつ名前が「Pos」の場合は削除
If xObjOLE.Object.Style = 11 And xObjOLE.Name = Pos Then
xObjOLE.Delete
End If
Next
'「OLEObjectオブジェクト」を作成
Set xObjOLE = ws.OLEObjects.Add("BARCODE.BarCodeCtrl.1")
'「OLEObjectオブジェクト」をQRコードにする
With xObjOLE.Object
'QRコード(=11)を指定
.Style = 11
'アクセス先となるURLを指定
.Value = strQR
End With
'QRコードを表示させる位置を取得
With ws.Range(Pos)
topPosition = .Top
leftPosition = .Left
End With
'QRコードのサイズ、位置、名前を指定
With xObjOLE
'縦と横のサイズ
.Height = 78
.Width = 78
'位置
.Top = topPosition
.Left = leftPosition
'名前
.Name = Pos '削除できるように名前をつける
End With
'後片付け
Set xObjOLE = Nothing
End Function
'----------------------------------------------------
'deleteQRCode QRコードの削除
'Pos As String:QRコードの名前に使用
'----------------------------------------------------
Function DeleteQRCode(Pos As String)
Dim ws As Worksheet
Dim xObjOLE As OLEObject
'QRコードがあるシートを指定
Set ws = ActiveSheet
'指定シート上にある「OLEObjectオブジェクト」の数だけ繰り返し
For Each xObjOLE In ws.OLEObjects
'「QRコード(=11)」かつ名前が「QRコード1」の場合は削除
If xObjOLE.Object.Style = 11 And xObjOLE.Name = Pos Then
xObjOLE.Delete
End If
Next
End Function
実行結果
testdspQR()を実行すると
A2セルにQRコードが表示されます。
サイズを変更したい場合は、
'縦と横のサイズ
.Height = 78
.Width = 78
を変更してください。
以上です。
最後までご覧いただきありがとうございます。
つぎはこちら
【VBA】Excelで特定のセルを非表示にする方法
VBA使用時に特定のセルを非表示にする方法とは
以下のサイトを参考にしました。ありがとうございました。
【VBA】QRコードを作成する
【VBA】QRコードを作成するVBAコードです!
コメント