重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【解消】通知が届かない不具合について

【やりたい事】
ファイル名取得.xlsmを開くたタイミングで
自動で、以下マクロが実行する事は出来ますか?

【補足】
今は、ファイルを開いて以下マクロを実行して、その後
上書きして使っています

マクロファイルには沢山のマクロやマクロと連携している
情報が、excel上に記載あり、編集が出来てしまう状態です
間違っていじってしまうリスク排除の為
読取専用にしたいというのが理由です

【マクロが保存されているファイル】
C:\Users\2020\OneDrive\マクロ\フォルダ名取得\フアィル名取得.xlsm


【コード】
Sub ファイル名取得()

Dim Path, FileName As String

folderpath = "C:\Users\2020\OneDrive\マクロ\フォルダ名取得\"

filepath = Dir(folderpath & "*あいうえお*.xlsx")

If filepath <> "" Then

MsgBox "ファイルは存在します"

Range("a1") = filepath

Else

MsgBox "Sample1.xlsmは存在しません"

End If

End Sub

  • 画像を添付する (ファイルサイズ:10MB以内、ファイル形式:JPG/GIF/PNG)
  • 今の自分の気分スタンプを選ぼう!
あと4000文字

A 回答 (4件)

「開いたときに自動でこのコードを実行したい」と「間違っていじってしまうリスク排除の為読取専用にしたいというのが理由です」の関係が分かりません。


実行したいというお書きのコードは、「読取専用にしたい」と無関係に見えます。コードのコピペミスですかね?

やりたいことが「間違っていじってしまうリスク排除の為読取専用にしたい」という場合は、ファイルを「読み取り専用を推奨」(名前を付けて保存時に全般オプションでチェックを入れる)にするのが普通だと思います。
「読み取り専用を推奨」でなく、読み取り専用を強制するなら、ファイルのプロパティーで「読み取り専用」にチェックしてOSの機能で保護ですかね。
    • good
    • 0

出来ますが やらないほうがいいです。


私はシステム屋でこういうマクロも作りましたが、「いきなり作動するマクロ」は怖くて他人には使わせられません。いくら説明書をつけても、エクスプローラから直接開くことも考えられます。そこで Excelの画面上にマクロ起動ボタンをつけて それをポチっと押さないと動かないようにしてきました。
今回もそうすることをお勧めします。(ボタンの作り方はご存知ですよね)

(例外は アプリのように見せたExcelマクロでこれは ワークシートとも表示せず、いきなりの実行でした。(アプリを最初から開発したようにみせて、実はExcelマクロで作ったのです) )
    • good
    • 0

ここが参考になるかも。


  ↓
ブックを開いたときにマクロを自動的に実行する - Microsoft サポート
https://support.microsoft.com/ja-jp/office/%E3%8 …


ThisWorkbookにコードを書き込む。

Private Sub Workbook_Open()
  【ここに作成したコードの中身】
End Sub


コードの中身じゃなくて、呼び出しでもいけるかな。
Call ファイル名取得

試してみてください。
    • good
    • 0

ThisWorkbookモジュールで、Workbook_Openという名前のプロシージャを書くとブックを開いたときに自動実行されます。


https://support.microsoft.com/ja-jp/office/1e559 …
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!