2024年4月25日木曜日

元来は、さまざまなグラフ画像をURLだけで生成できるというグーグルさんの触れ込みでした ー GoogleChartAPI(VBAマクロ)

         
エクセルのマクロで経験した中で、QRコードを表示させるのは難しいお仕事。
”OLEObjects”というプロパティがあるのですが、これでバーコードも作れるな。

この懐かしいOLEというのは、Microsoftの複合文書技術のフレームワークです。
要は、テキスト、カレンダー、アニメーション、サウンド、動画等が主な対象。

あらゆる種類のビジュアルなオブジェクトや情報オブジェクトを含んでいます。
もし、この機能を搭載したアプリなら、アプリ間でオブジェクトのコピペもOK。

確か、コピー元を変えると、リンクされた先のオブジェクトも変更されるはず。
そういった便利さから、エクセルで作ったグラフをパワポに貼ったりしました。

昔は、このOLEの機能がよく使われましたが、現在はあまり使われていません。
まあ、専門的にはチンプンカンプンなので、話はこれぐらいにしましょうかね。

それで、このOLEの機能は、ウインドウズ上で動作するアプリ間で連携します。
アプリで機能を搭載する但し書き付きですが、今や違うOSも増えて来ました。

なので、この機能はさておいて、実際のQRコード作成はデメリットがあるの。
それは、変換機能が、アルファベト等1バイト文字の対応だけになっている点。

漢字等2バイト文化圏の文字がコード変換できないので、仕事には使えません。
市販のアドインみたいなソフトもありますが、お金もかけられないので諦めた。

なので、実験的にコード作成しましたが、実際は別な方法が残されていました。
それは、”GoogleChartAPI”という外部サービスを引用して作成するのですよ。

ネットで発見したサンプルコードも実に単純だし、呼び出し作成も意外に早い。
というわけで、参考にコードを貼っておくので、使いたい人は使っておくれな。

実は、このQRコードのサービスでは、ネットで検索しているとグーグルが既に中止したとか言っている人もいたりして、でも、実際にコードを起動させると作成されてきますので、タダで使えればそれでいいじゃんと思ってしまうのでした。

※サンプルコード
Sub QRmkngGoglChrt() 'QRコード作成
Dim msg As String, Url As String, Shp As Shape
  msg = "ここに2バイト文字を貼ってみる"
    Url = ""
      Url = Url & "https://chart.apis.google.com/chart?"
        Url = Url & "cht=qr&chs=130x130&chl="
          Url = Url & msg
            Url = Url & ""
  Set Shp = ActiveSheet.Pictures.Insert(Url).ShapeRange(1)
    Shp.Top = 0 'ワークシート上の貼付位置:ポイント単位
      Shp.Left = 0
End Sub

Sub ShpDelete() '貼り付けたQRコードの削除 
Dim Shp As Shape
  For Each Shp In ActiveSheet.Shapes
    Shp.Delete
  Next Shp
End Sub



いいねと思ったら、三つポチっとね!
にほんブログ村 スキースノボーブログへ にほんブログ村 スキースノボーブログ スキーへ にほんブログ村 旅行ブログ 旅日記・旅の思い出へ
にほんブログ村    にほんブログ村      にほんブログ村 



0 件のコメント:

コメントを投稿