サポンテ 勉強ノート

サポンテの勉強ノート・読書メモなどを晒します。

アクティブブックのフォルダを開く

はじめに

 Excel を使っていて、編集中のファイル(アクティブワークブック)のフォルダを開きたいと思うことが、しばしばあります。

 サポンテは、作業環境をシンプルに保ちたく、今すぐに使わないウィンドウをずっと開いておくのに抵抗を感じます。エクスプローラのウィンドウも、必要なければすぐに閉じてしまいます。

 それは、後でまた開きたくなった時にすぐ開くことができれば問題ありません。

 そういうことでサポンテは、アクティブブックのフォルダを開くマクロをリボンに登録して使っています。このマクロ自体は、たいへん短いコード(実質一行)なので、記事を書いて公開するほどのものでもありませんでした。

SharePoint 対応

 ところが最近、SharePoint 上のファイルを直接開いて編集するということを頻繁にするようになりました。この場合も、ブラウザで SharePoint を開いてほしい。

 改良したコードは、まあ公開してもいいかなと思う程度の長さになったので公開します。よかったら使ってください。

Sub アクティブブックのフォルダを開く()
    Dim fn As String
    fn = ActiveWorkBook.FullName
    
    If LCase(Left(fn, 4)) = "http" Then
        Dim url As String
        url = Left(fn, InstrRev(fn, "/"))
        ActiveWorkBook.FollowHyperlink Address:= url, SubAddress:= "", NewWindow:= True
    Else
        Shell "C:\Windows\Explorer.exe /select, " & """" & fn & """", vbNormalFocus
    End If
End Sub

VBA は長く使える

 いちおう Excel のシェアは永らく高いので、サポンテが 20 年前に勉強した VBA は、とぎれることなく役に立ち続けています。今後もきっとそうであることでしょう。

 エンジニアではない方にとって VBA は敷居が高いと感じられるかもしれません。しかし身に付けたのち、得られるものは大きいと思います。Excel を頻繁に使っていて VBA 未習得というかたは、ぜひ挑戦してみてはいかがでしょうか。