Excelの各セルのURLをループで読み込んでURIデコードをするサンプルを紹介します。
仕様
画面仕様
下記の通り表とボタンを用意しています。
ボタンを押下すると、「変換前」の列を読み込んでURIデコードをして、変換後の列に出力します。
ソースコード
Sub ボタン1_Click()
Dim i As Long
Dim cellValue As String
Dim decodedURI As String
'クリア処理
Range(Range("B5"), Range("B" & Cells.Rows.Count)).ClearContents
'ヘッダ行以降を処理させるため5行目を選択
Cells(5, 1).Select
Do
'オフセットによる行移動
cellValue = ActiveCell.Offset(i, 0).Value
If Len(cellValue) = 0 Then
'入力値がない場合終了
Exit Do
Else
'URIDecode
With CreateObject("ScriptControl")
.Language = "JScript"
decodedURI = .CodeObject.decodeURI(cellValue)
End With
ActiveCell.Offset(i, 1).Value = decodedURI
End If
i = i + 1
Loop
End Sub
テスト実行
ボタンを押すとB列にURIデコードされた結果が出力されました。
大量のURLを処理するときは便利かもしれません。
参考情報
環境
下記の環境で作成・実行しております。
No. | 環境 | バージョン |
---|---|---|
1 | OS | Windows10 |
2 | Excel | Excel2016 |
以上です。