![見出し画像](https://assets.st-note.com/production/uploads/images/61292084/rectangle_large_type_2_1cec2da28a93f45f43d9a9ff18967271.jpg?width=1200)
【Excel VBA】散らかったデスクトップ画面をVBAでクリーニング
社内で利用している自分のパソコンは、なぜに、あんなにもショートカットが増えるのかいまだに疑問です。
まるで、雑草のようですね。
そんな散らかった、デスクトップ画面をクリーニングします。
散らかったデスクトップ画面をVBAでクリーニング
こんにちは。伊川(@naonaoke)です。
今回は、少し、ゆるい内容を紹介します。
月に何度か、デスクトップ上のアイコンを整理することはありませんか?
私はあるあるなのです。
リンク切れのショートカットキーや、全然利用しないショートカットと思いきや、
「このファイルどこにあるの?」
って、半ギレで言ってくる輩等。
まさに、外に出ると7人の敵が待つという状態ですね。
私など、敵ばかりです。
そんな悩みは、Excelでリンク集を作成しましょう。
きっと、あなたのデスクトップ画面は綺麗になるはずです。
このブログはこんな人にお勧め
VBAを勉強し始めた人
散らかっているデスクトップ画面が嫌な人
いつも、同僚や、上司に ファイルの有か確認される際に、理不尽切れられているか弱い人
このブログを、読み終わるころには・・・・
今回は、カンタンなVBAです。
読み終わる頃には、VBAは便利だと実感できると思います。
あなたのデスクトップ画面を整理整頓しましょう。
VBAではなく、ハイパーリンクではだめなのか?
全然問題ないです。
パイパーリンクでもいいですが、Excelから、ACCESSを起動するということはできないと思います。
私の会社では、Excel、フォルダ、インターネットエクスプローラー、ACCESS等を起動します。
ハイパーリンクでは、少し物足りない感じです。
ここで注意点があります。
調子に乗って、VBAを組み始めると、
この人は、できる人なんだと思われ、いつの間にか、システム担当になっていることがありますので、注意してください。
そうなると、後戻りできない状態になります。
デスクトップ画面を整理整頓 作業手順 その1 Excelファイルを起動するコード
ExcelにPWが設定されていても平気です。
Sub test()
Set openExcelFile = Workbooks.Open("D:\▼▼▼\abc.xlsx", Password:="※※")
End Sub()
書き込みPWが設定されている場合です。
Sub test()
Set openExcelFile = Workbooks.Open("D:\▼▼▼\abc.xls", Password:="※※", WriteResPassword:="※※")
End Sub()
最近は、コンプライアンス上、ファイルにPWを設定しますが、上記のように設定すると、何でもきます。
正直、何で、こんな長いPWを設定するのかと思うようなPWもありますが、セキュリティ上の観点からは、やめたほうがいいです。
デスクトップ画面を整理整頓 作業手順 その2 フォルダを起動するコード
Sub test()
Dim targ As String
targ = "D:\▼▼▼\"
Shell "C:\Windows\Explorer.exe " & targ, vbNormalFocus
End Sub()
このコードになります。
フォルダも、同じフォルダを何度も開くときがあり、フォルダが10個以上開いているときがありますね。
IF構文とかで、制御できるでしょうけど、面倒なので、そんなことはしていません。
以前に紹介しました、月ごとにフォルダを作成する場合がありますが、その場合は下記の記事を参照でいください。
月初に、パスを書き換える煩雑な手間がなくなります。
マメ知識
集計ファイルは、クオーター毎、または3か月毎に作成するのがほとんどだと思います。
例えば、今月が、2021年9月ならば、下記のようなファイルを作成してはいけません。
月初に必ず、パスを変更することになるからです。
当社は、通常は、3か月単位で集計しますのでこのように、変更してほしいと言いました。
それは、ACCESSのデータ抽出条件に、
当月(月初から今日まで)
先月
先々月
このように記載すれば、月初のパス変更はしなくても大丈夫だからです。この月初のパス変更は、本当に手間です。VBAを担当する人は、絶対に月初の出勤が約束されます。親の死に目にも会えなくなる可能性があります。
VBAのスキルを向上するには、何かに置き換えるというのが、重要です。
A上司「おい、2021年9月の集計表はどうなってる?」
こんな言い方はしません。
A上司「おい、今月の集計表はどうなってる?」
このように言うはずです。
ならば、VBAでも今月を書けるはずです。
この発想が大切です。
シートの一番下は?
シートの一番右端は?
このように置き換えれると、VBAは楽しくなります。
デスクトップを整理整頓 作業手順 その3 インターネットエクスプローラーを起動
Sub test()
With New InternetExplorer
.navigate "https://www.yahoo.co.jp/"
.Visible = True
End With
End Sub()
これは、よく開くWEBサイトように使っています。
社内WEBなども開くことができます。
但し、インターネットエクスプローラーは、12でサポートが終わりますで、他のコードを利用したほうがいいでしょう。
デスクトップを整理整頓 作業手順 その4 ACCESS(他のアプリ)を起動
Sub test()
Shell "msaccess.exe ""D:\▼▼▼\abc.accdb""", vbNormalFocus
End Sub()
このように記載すると、メモ帳が起動します。
何かの際に、メモ帳の起動も記載しておくと便利です。
マメ知識
メモ帳を起動するには、上記のようにも書けます。
1番始めのShell "msaccess.exe "".accdb""", vbNormalFocusと比べるとクォーテーションの数が違います。
なぜか?
パスにスペースがあっても、エラーが発生しません
ここ重要
意図的なのか、稀に、パスにスペースが入っていると、Shell”※※ ※”のような場合はエラーが発生します。
しかし、クォーテーションを増やしておくことでエラーは発生しません。
ここがポイント
今回紹介した、Excelでリンク集を作成しておくと、デスクトップ画面のショートカットは減ります。
断言したいのですが、やっぱり散らかります。
性格の問題なのでしょうね。
私は、ガサツな性格なので、どこまで言っても、ショートカットキーが減ることはないと思います。
まとめ
今回は、少しゆるい感じでやってみました。
ニッチなこともやりますが、カンタンなこともやっていこう思います。
今回も最後まで読んでいただきありがとうございました。
今回のサンプルファイルはありません。
よろしければサポートをお願いします。いただいたお金に関しては、書籍の購入に充て、より良い情報を皆様に提供します。