URLの1番後ろのスラッシュの位置を確認したい。
右から何文字目にあるかを知りたい!
そんな痒い所に手が届く簡単に使える関数の紹介です。
例)
https://drive.google.com/file/d/<file_id>/view?usp=sharing
目次
動作確認環境
- Microsoft 365 Apps Access バージョン 2208
VBAコード
' 対象が検索文字列の右から何文字目にあるか
Function FIND_LEFT(検索文字列 As String, 対象 As String) As Long
Dim tmp As String, strFind As String
tmp = StrReverse(検索文字列)
strFind = StrReverse(対象)
FIND_LEFT = InStr(tmp, strFind) + Len(strFind) - 1
End Function
使い方
関数として使えます。
対象が1文字の場合
FIND_LEFT("https://drive.google.com/file/d/view?usp=sharing","/")
結果:17
対象が2文字以上の場合
FIND_LEFT("https://drive.google.com/file/d/view?usp=sharing","/file/d")
結果:24
使い方例文
【1文字指定】先頭から右側から検索した”対象”までの文字
[検索文字列] = https://drive.google.com/file/d/view?usp=sharing の場合
Mid([検索文字列],1,Len([検索文字列])-FIND_LEFT([検索文字列],"/"))
結果:https://drive.google.com/file/d
【1文字指定】右側から検索した”対象”から1番右までの文字
[検索文字列] = https://drive.google.com/file/d/view?usp=sharing の場合
right([検索文字列],FIND_LEFT([検索文字列],"/"))
結果:/view?usp=sharing
【複数文字指定】右側から検索した”対象”から1番右までの文字
[検索文字列] = https://drive.google.com/file/d/view?usp=sharing の場合
Mid([検索文字列],1,Len([検索文字列])-FIND_LEFT([検索文字列],"file"))
結果:https://drive.google.com/
【複数文字指定】右側から検索した”対象”から1番右までの文字
[検索文字列] = https://drive.google.com/file/d/view?usp=sharing の場合
right([検索文字列],FIND_LEFT([検索文字列],"file"))
結果:file/d/view?usp=sharing
¥2,178 (2022/09/29 16:13時点 | Amazon調べ)
ポチップ
コメント