VBAを使わない、ファイルパスと取得する方法。 =LEFT(CELL("filename"), FIND("|", SUBSTITUTE(CELL("filename"), "\", "|", LEN(CELL("filename")) - LEN(SUBSTITUTE(CELL("filename"), "\", ""))))) 相対パスでHYPERLINKを定義する方法: =HYPERLINK(LEFT(CELL("filename"), FIND("|", SUBSTITUTE(CELL("filename"), "\", "|", LEN(CELL("filename")) - LEN(SUBSTITUTE(CELL("filename"), "\", ""))))) & "相対パス\ファイル名", "ファイル名") HYPERLINKの参照先(絶対ファイルパス)を取得する: それはVBAでは Public Function getFilepath(cel As Range) As String Dim re As New RegExp Dim mc As Object getFilepath = "" re.Pattern = "=HYPERLINK\((.*),\s*"".*""\)" Set mc = re.Execute(cel.FormulaR1C1) If mc.Count > 0 Then getFilepath = Application.Evaluate(mc.Item(0).SubMatches(0)) End If End Function |
投稿 >