はじめに
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 未習得というかたは、ぜひ挑戦してみてはいかがでしょうか。