Home » エクセルマクロ・Excel VBAの使い方 » ユーザー定義関数 » UTF-8でURLエンコードする

対象:Excel2002, Excel2003, Excel2007, Excel2010

自分用にちょっとしたツールをExcelで作っていて、文字列をUTF-8でURLエンコードする処理が必要だったため、その実装方法を調べました。

もう10年以上前になりますが、WindowsNT 4.0上のAccessで、URLエンコード・デコード関連の処理が必要になったことがありました。その当時はWindows標準のCOMなどで、URLエンコードする処理をやってくれるものがなく、信頼できそうなCOMを探したりして、ちょっと苦労した記憶があります。

その当時から考えると、今は無茶苦茶簡単にExcelでもUTF-8のURLエンコードできてしまいます。

[スポンサードリンク]

以下のようなVBA(Visual Basic for Applications)のコードで、URLエンコードをするユーザー定義関数が作れます。

▼URLエンコードするユーザー定義関数
Function URL_Encode(ByVal strOrg As String) As String

 With CreateObject("ScriptControl")
  .Language = "JScript"
  URL_Encode = .CodeObject.encodeURI(strOrg)
 End With

End Function

Windows 2000以降のWindowsには標準で含まれているScriputControlを使って、上記のようなユーザー定義関数を作ってやればUTF-8によるURLエンコード処理ができます。

JScriptのencodeURIメソッドを利用しているだけのユーザー定義関数です。

▼サンプルファイル(003722.xls 27KByte)ダウンロード

サンプルファイルでは、上記のユーザー定義関数を作成し、B1セルに「=URL_Encode(A1)」という数式を入力して、A1セルの文字列をUTF-8でURLエンコードさせてあります。

関連語句
エンコーディング

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » ユーザー定義関数 » UTF-8でURLエンコードする

「ユーザー定義関数」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.