投稿‎ > ‎

VBAを使わない

posted Jun 9, 2016, 11:44 PM by Zhang Wenxu   [ updated Jun 10, 2016, 12:46 AM ]
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
Comments